青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

流量統(tǒng)計:
Rixu Blog (日需博客)
日需博客,每日必需來踩踩哦..
posts - 108,comments - 54,trackbacks - 0

       網(wǎng)頁自動登錄(提交Post內(nèi)容)的用途很多,如驗證身份、程序升級、網(wǎng)絡投票等,以下是用C#實現(xiàn)的方法。
       網(wǎng)頁自動登錄和提交POST信息的核心就是分析網(wǎng)頁的源代碼(HTML),在C#中,可以用來提取網(wǎng)頁HTML的組件比較多,常用的用WebBrowser、WebClient、HttpWebRequest這三個。以下就分別用這三種方法來實現(xiàn):
      1、WebBrowser是個"迷你"瀏覽器,其特點是Post時不用關(guān)心Cookie、內(nèi)置JS等問題
       WebBrowser是VS2005新提供的組件(其實就是封裝了IE接口),實現(xiàn)POST功能一般在webBrowser的DocumentCompleted中分析HtmlDocument 來實現(xiàn),代碼如下:
            HtmlElement ClickBtn =null;
           if (e.Url.ToString().ToLower().IndexOf("xxx.htm") > 0)   //登陸頁面
            {
                HtmlDocument doc = webBrowser1.Document;
                for (int i = 0; i < doc.All.Count ; i++)
                {
                    if (doc.All[i].TagName.ToUpper().Equals("INPUT"))
                    {
                        switch (doc.All[i].Name)
                        {
                            case "userCtl":
                                doc.All[i].InnerText = "user01";
                                break;
                            case "passCt1":
                                doc.All[i].InnerText = "mypass";
                                break;
                            case "B1":
                                ClickBtn = doc.All[i]; //提交按鈕
                                break;
                        }
                    }
                }
                ClickBtn.InvokeMember("Click");   //執(zhí)行按扭操作
            }
 
      2、WebClient封裝了HTTP的一些類,操作簡單,相較于webBrowser,特點是可以自設(shè)代理,缺點是對COOKIE的控制
      WebClient的運行全在后臺,并且提供了異步操作的能力,這樣很方便并發(fā)多個任務,然后等待結(jié)果的返回,再逐個處理。多任務異步調(diào)用的代碼如下:
    private void StartLoop(int ProxyNum)
        {
            WebClient [] wcArray = new WebClient[ProxyNum]; //初始化
              for (int idArray = 0; idArray< ProxyNum;idArray++)
            {
                 wcArray[idArray] = new WebClient();
                wcArray[idArray].OpenReadCompleted += new OpenReadCompletedEventHandler(Pic_OpenReadCompleted2);
                wcArray[idArray].UploadDataCompleted += new UploadDataCompletedEventHandler(Pic_UploadDataCompleted2);
                try
                {
                     ......
                    wcArray[idArray].Proxy = new WebProxy(proxy[1], port);
                  wcArray[idArray].OpenReadAsync(new Uri("http://xxxx.com.cn/tp.asp?Id=129")); //打開WEB;
                    proxy = null;
                }
                catch
                {
                }
            }
        }

        private void Pic_OpenReadCompleted2(object sender, OpenReadCompletedEventArgs e)
        {
                if (e.Error == null)
                {
                           string textData = new StreamReader(e.Result, Encoding.Default).ReadToEnd(); //取返回信息
                            .....
                              String cookie = ((WebClient)sender).ResponseHeaders["Set-Cookie"];
                             ((WebClient)sender).Headers.Add("Content-Type", "application/x-www-form-urlencoded");
                            ((WebClient)sender).Headers.Add("Accept-Language", "zh-cn");
                            ((WebClient)sender).Headers.Add("Cookie", cookie);

                            string postData = "......"
                            byte[] byteArray = Encoding.UTF8.GetBytes(postData); // 轉(zhuǎn)化成二進制數(shù)組 
                           ((WebClient)sender).UploadDataAsync(new Uri("http://xxxxxxy.com.cn/tp.asp?Id=129"), "POST", byteArray);
                }
         }

        private void Pic_UploadDataCompleted2(object sender, UploadDataCompletedEventArgs e)
        {
                 if (e.Error == null)
                {
                    string returnMessage = Encoding.Default.GetString(e.Result);
                     ......
                 }
       }
 


      3、HttpWebRequest較為低層,能實現(xiàn)的功能較多,Cookie操作也很簡單


        private bool PostWebRequest()        
        {
                   CookieContainer cc = new CookieContainer();
                    string pos tData = "user=" + strUser + "&pass=" + strPsd;
                    byte[] byteArray = Encoding.UTF8.GetBytes(postData); // 轉(zhuǎn)化

                    HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(new Uri("http://www.xxxx.com/chk.asp"));
                    webRequest2.CookieContainer = cc;
                    webRequest2.Method = "POST";
                    webRequest2.ContentType = "application/x-www-form-urlencoded";
                    webRequest2.ContentLength = byteArray.Length;
                    Stream newStream = webRequest2.GetRequestStream();
                    // Send the data.
                    newStream.Write(byteArray, 0, byteArray.Length);    //寫入?yún)?shù)
                    newStream.Close();

                    HttpWebResponse response2 = (HttpWebResponse)webRequest2.GetResponse();
                    StreamReader sr2=new StreamReader(response2.GetResponseStream(), Encoding.Default);
                    string text2 = sr2.ReadToEnd();
                  ......
         }                  
 
              HttpWebRequest同樣提供了異步操作,有興趣的朋友自己查MSDN,實現(xiàn)起來也不難。


Logo
作者:Gezidan
出處:http://www.rixu.net    
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權(quán)利。

本文轉(zhuǎn)載自 http://www.cnblogs.com/xiangboren/archive/2009/03/06/1404473.html
posted on 2011-09-28 13:40 日需博客 閱讀(959) 評論(0)  編輯 收藏 引用 所屬分類: C# 、技術(shù)文章轉(zhuǎn)載
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美视频在线视频| 亚洲欧美日韩一区二区在线 | 欧美日韩国产综合新一区| 久久精品国产免费| 久久国产综合精品| 久久综合伊人| 欧美高清在线视频| 欧美日韩高清在线播放| 国产精品日韩欧美一区二区三区| 欧美少妇一区| 国产综合欧美在线看| 永久免费视频成人| 亚洲毛片在线看| 亚洲欧美日韩精品久久| 久久九九99视频| 欧美二区乱c少妇| 欧美成人激情在线| 亚洲小说春色综合另类电影| 欧美影院在线播放| 欧美激情一二三区| 国产欧美在线看| 亚洲日本欧美天堂| 欧美一区二区视频97| 欧美国产日韩xxxxx| 国产精品99久久久久久宅男| 久久免费视频观看| 国产精品久久久久久五月尺| 亚洲福利av| 亚洲综合色网站| 欧美国产在线电影| 欧美一级成年大片在线观看| 欧美经典一区二区三区| 国语自产精品视频在线看8查询8| 亚洲裸体在线观看| 久久在线观看视频| 一本色道久久加勒比88综合 | 欧美日韩伊人| 国产最新精品精品你懂的| 一本一本a久久| 欧美超级免费视 在线| 亚洲中字黄色| 欧美日韩妖精视频| 亚洲黄色精品| 久久精品日产第一区二区三区| 亚洲精品免费一二三区| 亚洲图片在线| 欧美日韩高清不卡| 亚洲国产成人av| 久久本道综合色狠狠五月| 亚洲乱码国产乱码精品精天堂| 久久综合九色综合网站| 国产一区导航| 午夜精品区一区二区三| 99国产精品久久久久久久| 欧美成人精品h版在线观看| 黑人操亚洲美女惩罚| 亚洲裸体视频| 欧美韩日一区二区| 亚洲一区二区三区在线观看视频| 国产精品成人午夜| 夜夜夜精品看看| 久久综合色88| 午夜精品999| 国产午夜亚洲精品理论片色戒| 亚洲自拍三区| 亚洲视频专区在线| 国产精品欧美一区二区三区奶水| 亚洲自拍高清| 亚洲视频观看| 国产午夜精品一区二区三区欧美| 欧美在线播放一区| 久久精品综合一区| 亚洲二区在线观看| 亚洲高清免费视频| 欧美精品亚洲精品| 亚洲男人的天堂在线观看| 亚洲淫性视频| 狠狠色丁香婷婷综合久久片| 久久亚洲综合色| 你懂的一区二区| 亚洲人体影院| 亚洲美女毛片| 国产精品视频九色porn| 欧美一区二区三区免费观看 | 久久精品在线免费观看| 狠狠干综合网| 亚洲国产婷婷香蕉久久久久久99 | 欧美日韩一二三区| 欧美一区二区三区婷婷月色 | 亚洲国产精品ⅴa在线观看| 欧美日韩激情小视频| 欧美一区二区三区久久精品茉莉花 | 亚洲淫性视频| 樱花yy私人影院亚洲| 亚洲动漫精品| 国产精品视频网址| 亚洲成色精品| 国产精品免费一区豆花| 六月婷婷久久| 欧美日韩直播| 麻豆精品91| 国产精品美女xx| 欧美韩日高清| 国产精品欧美激情| 欧美一区二区免费视频| 国产精品久久久久久久久借妻| 久久久久久999| 欧美伦理影院| 另类人畜视频在线| 国产精品久久婷婷六月丁香| 亚洲福利久久| 影音先锋久久久| 亚洲一区免费视频| 99在线观看免费视频精品观看| 欧美在线视频一区二区三区| 亚洲五月六月| 欧美福利网址| 蜜臀99久久精品久久久久久软件| 国产精品啊啊啊| 亚洲欧洲一区二区三区| 黄网动漫久久久| 亚洲欧美在线一区二区| 亚洲一区二区动漫| 欧美日韩成人综合| 最新精品在线| 亚洲日韩欧美视频| 美女亚洲精品| 欧美黑人一区二区三区| 在线国产精品播放| 性欧美videos另类喷潮| 午夜在线精品| 国产精品久久久久久五月尺| 99视频精品全部免费在线| 亚洲美洲欧洲综合国产一区| 欧美mv日韩mv国产网站app| 免费日韩av片| 亚洲国产欧美在线人成| 美玉足脚交一区二区三区图片| 乱人伦精品视频在线观看| 国内精品久久久久久久影视麻豆| 亚洲欧美在线网| 久久精品电影| 狠狠入ady亚洲精品| 久久九九精品| 欧美成人精品一区二区| 91久久精品国产91久久性色tv| 蜜桃精品一区二区三区| 亚洲区一区二| 亚洲综合国产| 国产日韩在线一区| 久久在线免费观看视频| 亚洲黑丝在线| 夜夜嗨av色一区二区不卡| 国产精品国产三级国产普通话蜜臀 | 国产欧美一区二区三区在线看蜜臀 | 亚洲精品国产精品乱码不99按摩| 快射av在线播放一区| 男男成人高潮片免费网站| 亚洲欧洲综合另类| 国产精品福利影院| 欧美诱惑福利视频| 亚洲国产婷婷| 亚洲欧美色一区| 一区二区三区精品视频| 亚洲精品麻豆| 一本色道久久88精品综合| 午夜久久福利| 亚洲精品在线三区| 欧美在线一二三四区| 欧美日韩午夜剧场| 在线免费观看日韩欧美| 亚洲午夜av在线| 久久黄金**| 欧美精品日韩www.p站| 亚洲第一精品久久忘忧草社区| 亚洲精品乱码| 国产精品一区二区在线| 麻豆乱码国产一区二区三区| 亚洲乱码国产乱码精品精可以看| 午夜影院日韩| 91久久在线观看| 国产精品一区久久| 欧美激情国产高清| 欧美在线一二三| 99av国产精品欲麻豆| 久久躁狠狠躁夜夜爽| 亚洲午夜在线视频| 亚洲激情视频在线播放| 国产无遮挡一区二区三区毛片日本| 免费观看国产成人| 欧美一区二区成人6969| 亚洲乱码国产乱码精品精| 欧美va天堂| 久久动漫亚洲| 亚洲一区二区欧美日韩| 亚洲精品网站在线播放gif| 国产亚洲精品资源在线26u| 欧美日韩国产综合视频在线| 久久久亚洲影院你懂的| 欧美在线视频日韩|