下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大宗农产品委托运输协议
- 四川省工作室装修合同
- 电力工程承包居间合同
- 艺术家村涂料
- 电力工程运输服务合同
- 药品整车配送服务合同
- 商业广场外墙涂装项目协议
- 第1-4单元期中重难点密押卷(试题)-2024-2025学年六年级上册数学人教版
- 船舶修理设备运送范本
- 老房改造装修合同模板
- 资产收购项目居间服务合同书
- 2.6热对流(教学课件)五年级科学上册
- 房租保密协议书2024年
- Unit2 Developing Ideas教案2024-2025学年外研版英语七年级上册
- 2024年部编版新教材语文小学二年级上册第三单元、第四单元检测题附答案(各一套)
- 二年级下册数学教案-4.1图形的认识-西师大版
- 2024年国药集团药业股份有限公司招聘笔试冲刺题(带答案解析)
- (正式版)QBT 2174-2024 不锈钢厨具
- 2023年《工会基础知识》 试题库及答案
- 是谁杀死了周日
- 食品安全管理内外部环境因素分析及应对措施
评论
0/150
提交评论