亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現的三種模擬自動登錄和提交POST信息的方法

2020-01-24 01:23:18
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現的三種模擬自動登錄和提交POST信息的方法。分享給大家供大家參考,具體如下:

網頁自動登錄(提交Post內容)的用途很多,如驗證身份、程序升級、網絡投票等,以下是用C#實現的方法。

網頁自動登錄和提交POST信息的核心就是分析網頁的源代碼(HTML),在C#中,可以用來提取網頁HTML的組件比較多,常用的用WebBrowser、WebClient、HttpWebRequest這三個。以下就分別用這三種方法來實現:

1、WebBrowser是個"迷你"瀏覽器,其特點是Post時不用關心Cookie、內置JS等問題
WebBrowser是VS2005新提供的組件(其實就是封裝了IE接口),實現POST功能一般在webBrowser的DocumentCompleted中分析HtmlDocument 來實現,代碼如下:

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"); //執行按扭操作}

2、WebClient封裝了HTTP的一些類,操作簡單,相較于webBrowser,特點是可以自設代理,缺點是對COOKIE的控制

WebClient的運行全在后臺,并且提供了異步操作的能力,這樣很方便并發多個任務,然后等待結果的返回,再逐個處理。多任務異步調用的代碼如下:

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較為低層,能實現的功能較多,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,實現起來也不難。

客戶端程序模擬post提交的用處很多,往往用于不同平臺間的接口交互,
樓主總結的很好,不過少了一中方法:

WebRequest request = WebRequest.Create(Url);request.Method = "POST";request.Timeout = 100000;request.GetRequestStream().Close();WebResponse response = request.GetResponse();StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);webInfo = sr.ReadToEnd();sr.Close();

也挺方便

希望本文所述對大家C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色狠狠久久aa北条麻妃| 欧美日韩xxx| 91久久精品美女高潮| 日韩精品视频免费专区在线播放| 国产精品免费一区豆花| 精品一区二区三区电影| 欧美日韩高清在线观看| 亚洲经典中文字幕| 久久夜色撩人精品| 国产精品永久免费视频| 国产精品视频导航| 亚洲精品在线观看www| 国产免费亚洲高清| 国产综合视频在线观看| 国产成人在线视频| 粉嫩av一区二区三区免费野| 欧美精品久久久久久久久久| 成人欧美在线视频| 久久国产精品视频| 青青在线视频一区二区三区| 久久视频国产精品免费视频在线| 91精品国产免费久久久久久| 亚洲欧洲日韩国产| 日韩精品视频在线观看网址| 欧美一级大片在线免费观看| 91九色综合久久| 久久精品久久精品亚洲人| 国产午夜精品久久久| 欧美日韩高清区| 欧美重口另类videos人妖| 国产免费一区二区三区在线能观看| 国语自产精品视频在免费| 欧美在线观看网站| 欧美视频在线看| 国产一区二区三区免费视频| 国产在线视频欧美| 亚洲精品福利在线| 国产精品久久久久久久久久久久久| 2018国产精品视频| 成人乱人伦精品视频在线观看| 国产精品美女久久| 欧美精品在线视频观看| 久久精品国产免费观看| 欧美日韩久久久久| 日韩精品一二三四区| 日韩中文字幕在线| 欧美最猛性xxxxx免费| 91影院在线免费观看视频| 国产免费观看久久黄| 国产精品91免费在线| 欧美激情欧美狂野欧美精品| 日韩在线中文视频| 欧美成人手机在线| 日韩av免费在线看| 亚洲欧美制服另类日韩| 影音先锋欧美在线资源| 中文字幕欧美在线| 精品国产乱码久久久久久天美| 亚洲视频网站在线观看| 欧美精品在线免费| 69**夜色精品国产69乱| 日韩免费不卡av| 8x海外华人永久免费日韩内陆视频| 久久精品国产亚洲精品2020| 日韩欧美在线免费| 久久久久久九九九| 欧美自拍视频在线观看| 欧美在线激情视频| 日韩国产高清污视频在线观看| 精品久久久久久久久久久久| 国产精品青青在线观看爽香蕉| 国产69精品久久久久9999| 国产区亚洲区欧美区| 伊人亚洲福利一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品电影网| www.久久久久久.com| 欧美亚洲另类在线| 日韩美女在线观看| 国产免费一区二区三区在线能观看| 久久精品国产亚洲7777| 91爱视频在线| 午夜精品久久久久久久久久久久久| 久久久久久午夜| 欧美理论片在线观看| 色多多国产成人永久免费网站| 高清一区二区三区四区五区| 91免费的视频在线播放| 久久久久久久网站| 国产91|九色| 7777精品久久久久久| 亚洲国产成人精品女人久久久| 午夜精品一区二区三区视频免费看| 国产精品视频1区| 久久韩剧网电视剧| 欧美激情手机在线视频| 成人福利网站在线观看| 精品亚洲国产成av人片传媒| 久久国产加勒比精品无码| 久久精品久久久久久| 精品国产拍在线观看| 亚洲激情在线观看视频免费| 色偷偷噜噜噜亚洲男人| 韩国v欧美v日本v亚洲| 日韩美女免费视频| 高清欧美一区二区三区| 国产亚洲精品一区二555| 欧美日韩亚洲精品一区二区三区| 精品国产一区二区三区久久| 亚洲欧洲xxxx| 91在线观看免费网站| 另类天堂视频在线观看| 成人国产精品日本在线| 成人久久一区二区三区| 亚洲欧美日韩天堂| 国产成人av网址| 97精品在线视频| 久久久噜久噜久久综合| 国产一区二区在线免费视频| 亚洲视频网站在线观看| 久久6免费高清热精品| 国产精品视频地址| 亚洲精品国产拍免费91在线| 欧美电影免费观看高清| 国产亚洲欧美日韩精品| 亚洲视频在线观看免费| 中文字幕成人在线| 色偷偷88888欧美精品久久久| 国产精品自产拍在线观看中文| 欧美亚洲视频在线看网址| 日韩激情av在线播放| 久久久久久免费精品| 国产自产女人91一区在线观看| 欧美国产极速在线| 欧美极品xxxx| 热久久这里只有精品| 精品动漫一区二区| 亚洲国产91精品在线观看| 91天堂在线视频| 18久久久久久| 国产亚洲精品美女久久久久| 成人性生交大片免费看视频直播| 国产精品视频区1| 97视频在线观看播放| 国产99视频精品免视看7| 欧美性生交xxxxx久久久| 中文字幕亚洲综合久久| 亚洲第一区在线观看| 最新91在线视频| 国模吧一区二区三区| 欧美电影电视剧在线观看| 国产亚洲欧洲在线| 91精品久久久久久久久久另类| 国产精品十八以下禁看| 国产亚洲美女久久| 日韩视频免费观看| 国产精品视频免费在线观看| 国产精品视频男人的天堂| 久久视频这里只有精品| 免费97视频在线精品国自产拍| 成人福利视频网| 国产精品私拍pans大尺度在线| 亚洲最大中文字幕| 精品无码久久久久久国产|