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

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

       網頁自動登錄(提交Post內容)的用途很多,如驗證身份、程序升級、網絡投票等,以下是用C#實現(xiàn)的方法。
       網頁自動登錄和提交POST信息的核心就是分析網頁的源代碼(HTML),在C#中,可以用來提取網頁HTML的組件比較多,常用的用WebBrowser、WebClient、HttpWebRequest這三個。以下就分別用這三種方法來實現(xiàn):
      1、WebBrowser是個"迷你"瀏覽器,其特點是Post時不用關心Cookie、內置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,特點是可以自設代理,缺點是對COOKIE的控制
      WebClient的運行全在后臺,并且提供了異步操作的能力,這樣很方便并發(fā)多個任務,然后等待結果的返回,再逐個處理。多任務異步調用的代碼如下:
    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); // 轉化成二進制數組 
                           ((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); // 轉化

                    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);    //寫入參數
                    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    
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

本文轉載自 http://www.cnblogs.com/xiangboren/archive/2009/03/06/1404473.html
posted on 2011-09-28 13:40 日需博客 閱讀(959) 評論(0)  編輯 收藏 引用 所屬分類: C#技術文章 、轉載
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美网站| 国产亚洲福利一区| 欧美专区第一页| 国产精品一区二区久激情瑜伽| 亚洲最新合集| 亚洲一区在线观看免费观看电影高清| 国产专区欧美专区| 亚洲欧美日韩一区二区三区在线观看| 新67194成人永久网站| 国产欧美在线播放| 久久不射电影网| 欧美激情a∨在线视频播放| 亚洲精品国产精品乱码不99| 欧美精品一区二区三区在线看午夜| 亚洲日本va午夜在线电影| 日韩一区二区精品葵司在线| 欧美系列精品| 久久久天天操| 日韩一级黄色大片| 久久女同精品一区二区| 亚洲精选在线观看| 国产一本一道久久香蕉| 欧美日本免费| 久久久视频精品| 亚洲一区二区欧美| 亚洲第一搞黄网站| 欧美一级视频| 日韩天堂av| 在线观看日韩av电影| 国产精品嫩草久久久久| 欧美成人一区在线| 欧美一区二区三区电影在线观看| 91久久极品少妇xxxxⅹ软件| 久久精品国产清自在天天线| 99re6这里只有精品视频在线观看| 国产精一区二区三区| 欧美高清视频www夜色资源网| 亚洲欧美日韩第一区| 日韩手机在线导航| 欧美成熟视频| 久久久久天天天天| 欧美一区不卡| 性欧美18~19sex高清播放| 亚洲人成7777| 影音先锋亚洲精品| 国产亚洲一区二区三区| 国产精品一区视频| 国产精品日韩欧美一区| 欧美日韩在线一二三| 欧美高清在线| 欧美成人精品不卡视频在线观看| 欧美在线影院| 午夜激情久久久| 亚洲一区免费观看| 亚洲欧美精品中文字幕在线| 亚洲视频精品在线| 亚洲网站在线观看| 亚洲人成网站777色婷婷| 日韩一级片网址| 免费观看日韩av| 久久天堂av综合合色| 久久久91精品| 久久综合色一综合色88| 美女成人午夜| 亚洲国产精品ⅴa在线观看 | 亚洲高清影视| 国模私拍视频一区| 一区二区三区在线观看欧美| 娇妻被交换粗又大又硬视频欧美| 国模私拍一区二区三区| 国际精品欧美精品| 亚洲福利精品| 日韩视频一区二区| 国产精品99久久不卡二区| 亚洲欧美中文另类| 久久亚洲二区| 亚洲精品国产精品国自产在线| 亚洲精品黄网在线观看| 一区二区三区日韩欧美精品| 亚洲你懂的在线视频| 久久国产精品99精品国产| 久久久久久日产精品| 欧美承认网站| 国产欧美在线看| 亚洲国产欧美在线 | 亚洲欧美99| 久久一区激情| 最新国产成人av网站网址麻豆| 99精品视频免费全部在线| 午夜久久美女| 欧美激情亚洲| 国产日韩欧美一区在线 | 国产有码在线一区二区视频| 在线免费不卡视频| 亚洲在线视频网站| 欧美黑人在线播放| 亚洲欧美另类在线观看| 欧美精品123区| 国产一区二区欧美日韩| 一区二区久久久久| 六月丁香综合| 亚洲图片欧美日产| 玖玖玖国产精品| 国产精品每日更新在线播放网址| 亚洲电影天堂av| 午夜精品久久久久久久蜜桃app | 香蕉久久夜色精品国产| 美国十次成人| 国产亚洲精品高潮| 亚洲一区二区成人| 欧美国产精品| 久久99在线观看| 国产精品久久久久永久免费观看 | 在线观看av一区| 欧美一级久久久久久久大片| 亚洲国产小视频| 久久久久国产精品一区三寸| 国产伦理精品不卡| 亚洲免费人成在线视频观看| 亚洲人妖在线| 欧美成人午夜视频| 亚洲国产精品久久91精品| 久久全球大尺度高清视频| 亚洲香蕉在线观看| 欧美日韩中文| 在线综合欧美| 日韩视频一区二区三区| 欧美精品入口| 亚洲视频你懂的| 亚洲精品美女91| 毛片基地黄久久久久久天堂| 亚洲国产99| 亚洲第一网站免费视频| 欧美成人免费小视频| 91久久精品国产91久久性色| 欧美成人高清视频| 免费久久精品视频| 亚洲人成网站777色婷婷| 亚洲国产日韩一区二区| 欧美精品日韩综合在线| 亚洲一区二区三区精品视频| 中文有码久久| 红桃视频成人| 欧美国产日韩一区二区| 欧美高清免费| 亚洲视频在线看| 亚洲欧美日韩国产综合精品二区| 国产精品亚洲不卡a| 久久久久国色av免费看影院| 老司机一区二区| 亚洲伦理精品| 亚洲午夜在线观看| 国产欧美在线视频| 女主播福利一区| 欧美日韩福利| 欧美一区激情| 久久视频国产精品免费视频在线| 在线欧美电影| 一本色道久久综合亚洲91| 国产精品资源| 欧美电影免费网站| 欧美三级免费| 亚洲国产免费看| 亚洲午夜视频| 久久福利影视| 亚洲精选久久| 香蕉久久一区二区不卡无毒影院| 亚洲大胆女人| 一区二区三区不卡视频在线观看| 国产女人水真多18毛片18精品视频| 久久精品国产免费看久久精品| 久久久久se| 亚洲午夜视频在线观看| 久久精品亚洲| 亚洲午夜女主播在线直播| 久久成人一区| 亚洲天堂成人在线视频| 久久国产精品黑丝| 亚洲一区二区在线| 久久精品一区二区国产| 亚洲丝袜av一区| 老司机一区二区| 久久久亚洲国产美女国产盗摄| 欧美婷婷六月丁香综合色| 免费精品99久久国产综合精品| 欧美三级第一页| 亚洲国产精品久久久久秋霞影院| 国产精品一区在线观看你懂的| 亚洲精品欧洲| 亚洲国产另类久久久精品极度| 欧美在线视频一区二区三区| 亚洲永久免费观看| 欧美日韩国产精品| 亚洲高清在线观看一区| 在线精品国产欧美| 久久精品视频在线免费观看| 久久精品午夜| 国产婷婷色一区二区三区四区| 一区二区久久| 亚洲一级片在线看|