c# 使用 HttpWebRequest模拟登陆(附带验证码)_第1页
c# 使用 HttpWebRequest模拟登陆(附带验证码)_第2页
c# 使用 HttpWebRequest模拟登陆(附带验证码)_第3页
c# 使用 HttpWebRequest模拟登陆(附带验证码)_第4页
c# 使用 HttpWebRequest模拟登陆(附带验证码)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c# 使用 HttpWebRequest模拟登陆(附带验证码)在C#中,可以使用HttpWebRequest进行相关的模拟登陆,登陆后进行相关的操作,比如抓取数据,页面分析,制作相关登陆助手等等。先说下流程1.使用httpwebrequest先进入你要登录的网站,获取cookie2.使用第一步获取的cookie到验证码的网页将验证码下载下来。3.使用Post数据 发送至网站。如果有cookie则继续保存。4.使用第三步的cookie登陆相关网页操作。获取相关数据可以使用抓包工具进行抓取,如httpwatch。(网上下载的好多都有病毒,下载的时候注意点)/ / 通过get方式请求页面,传递一个实

2、例化的cookieContainer / / / / public static ArrayList GetHtmlData(string postUrl, CookieContainer cookie) HttpWebRequest request; HttpWebResponse response; ArrayList list = new ArrayList(); request = WebRequest.Create(postUrl) as HttpWebRequest; request.Method = GET; request.UserAgent = Mozilla/4.0; re

3、quest.CookieContainer = cookie; request.KeepAlive = true; request.CookieContainer = cookie; try /获取服务器返回的资源 using (response = (HttpWebResponse)request.GetResponse() using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default) cookie.Add(response.Cookies); /保存Cookies

4、list.Add(cookie); list.Add(reader.ReadToEnd(); list.Add(Guid.NewGuid().ToString();/图片名 catch (WebException ex) list.Clear(); list.Add(发生异常/n/r); WebResponse wr = ex.Response; using (Stream st = wr.GetResponseStream() using (StreamReader sr = new StreamReader(st, System.Text.Encoding.Default) list.Ad

5、d(sr.ReadToEnd(); catch (Exception ex) list.Clear(); list.Add(5); list.Add(发生异常: + ex.Message); return list; / / 下载验证码图片并保存到本地 / / 验证码URL / Cookies值 / 保存位置/文件名 public static bool DowloadCheckImg(string Url, CookieContainer cookCon, string savePath) bool bol = true; HttpWebRequest webRequest = (HttpW

6、ebRequest)WebRequest.Create(Url); /属性配置 webRequest.AllowWriteStreamBuffering = true; webRequest.Credentials = System.Net.CredentialCache.DefaultCredentials; webRequest.MaximumResponseHeadersLength = -1; webRequest.Accept = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-

7、flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*; webRequest.UserAgent = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322); webRequest.ContentType = application/x-www-form-urlencoded; webRequest.Method = GET; webRequest.Headers

8、.Add(Accept-Language, zh-cn); webRequest.Headers.Add(Accept-Encoding, gzip,deflate); webRequest.KeepAlive = true; webRequest.CookieContainer = cookCon; try /获取服务器返回的资源 using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse() using (Stream sream = webResponse.GetResponseStream()

9、 List list = new List(); while (true) int data = sream.ReadByte(); if (data = -1) break; list.Add(byte)data); File.WriteAllBytes(savePath, list.ToArray(); catch (WebException ex) bol = false; catch (Exception ex) bol = false; return bol; / / 发送相关数据至页面 / 进行登录操作 / 并保存cookie / / / / / public static Arr

10、ayList PostData(string postData, string postUrl, CookieContainer cookie) ArrayList list = new ArrayList(); HttpWebRequest request; HttpWebResponse response; ASCIIEncoding encoding = new ASCIIEncoding(); request = WebRequest.Create(postUrl) as HttpWebRequest; byte b = encoding.GetBytes(postData); req

11、uest.UserAgent = Mozilla/4.0; request.Method = POST; request.CookieContainer = cookie; request.ContentLength = b.Length; using (Stream stream = request.GetRequestStream() stream.Write(b, 0, b.Length); try /获取服务器返回的资源 using (response = request.GetResponse() as HttpWebResponse) using (StreamReader rea

12、der = new StreamReader(response.GetResponseStream(), Encoding.UTF8) if (response.Cookies.Count 0) cookie.Add(response.Cookies); list.Add(cookie); list.Add(reader.ReadToEnd(); catch (WebException wex) WebResponse wr = wex.Response; using (Stream st = wr.GetResponseStream() using (StreamReader sr = new StreamReader(st, System.Text.Encoding.Default) list.Add(sr.ReadToEnd(); catch (E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论