欢迎来到天天文库
浏览记录
ID:57686737
大小:27.50 KB
页数:5页
时间:2020-09-01
《c# 使用 HttpWebRequest模拟登陆(附带验证码).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、c#使用HttpWebRequest模拟登陆(附带验证码)在C#中,可以使用HttpWebRequest进行相关的模拟登陆,登陆后进行相关的操作,比如抓取数据,页面分析,制作相关登陆助手等等。先说下流程1.使用httpwebrequest先进入你要登录的网站,获取cookie2.使用第一步获取的cookie到验证码的网页将验证码下载下来。3.使用Post数据发送至网站。如果有cookie则继续保存。4.使用第三步的cookie登陆相关网页操作。获取相关数据可以使用抓包工具进行抓取,如httpwatch。(网上下载的好多都有病毒,下载的
2、时候注意点)//////通过get方式请求页面,传递一个实例化的cookieContainer////////////publicstaticArrayListGetHtmlData(stringpostUrl,CookieContainercookie){HttpWebRequestrequest;HttpWebResponseresponse;
3、ArrayListlist=newArrayList();request=WebRequest.Create(postUrl)asHttpWebRequest;request.Method="GET";request.UserAgent="Mozilla/4.0";request.CookieContainer=cookie;request.KeepAlive=true;request.CookieContainer=cookie;try{//获取服务器返回的资源using(response=(HttpWebResponse)requ
4、est.GetResponse()){using(StreamReaderreader=newStreamReader(response.GetResponseStream(),Encoding.Default)){cookie.Add(response.Cookies);//保存Cookieslist.Add(cookie);list.Add(reader.ReadToEnd());list.Add(Guid.NewGuid().ToString());//图片名}}}catch(WebExceptionex){list.Clear
5、();list.Add("发生异常/n/r");WebResponsewr=ex.Response;using(Streamst=wr.GetResponseStream()){using(StreamReadersr=newStreamReader(st,System.Text.Encoding.Default)){list.Add(sr.ReadToEnd());}}}catch(Exceptionex){list.Clear();list.Add("5");list.Add("发生异常:"+ex.Message);}return
6、list;}//////下载验证码图片并保存到本地//////验证码URL///Cookies值///保存位置/文件名publicstaticboolDowloadCheckImg(stringUrl,CookieContainercookCon,stringsavePath){boolbol=true;HttpWebRequest
7、webRequest=(HttpWebRequest)WebRequest.Create(Url);//属性配置webRequest.AllowWriteStreamBuffering=true;webRequest.Credentials=System.Net.CredentialCache.DefaultCredentials;webRequest.MaximumResponseHeadersLength=-1;webRequest.Accept="image/gif,image/x-xbitmap,image/jpeg,imag
8、e/pjpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/mswor
此文档下载收益归作者所有