模拟验证的cookie
CookieContainer baseCookieContainer = new CookieContainer(); Cookie cookie2 = new Cookie("ASP.NET_SessionId", "sur1dby21qru00ol3bqcamqd"); cookie2.Domain = "106.37.230.254"; baseCookieContainer.Add(cookie2);
模拟POST提交数据
/// <summary> /// 返回LoginOncookie的值 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public Cookie GetLoginOnCookie(String username, String password, CookieContainer cookieContainer) { string pasturl = "http://106.37.230.254:81/"; string postData = "__VIEWSTATE=%2FwEPDwUKMTg0NDI4MDE5OGRkj8OrkkOlfYqdhxkeEVV4GsZ6FLw0IioIcl%2BnbwqoGbo%3D&__EVENTVALIDATION=%2FwEWBgKF6pivDAKl1bKzCQK1qbSRCwLoyMm8DwLi44eGDAKAv7D9Co04a1vpmJ%2FQuWDi2GFypJ8LBXRdxHsgxKaj%2FeIzgMJ6&txtUserName=5155555063&txtPassword=1955511&txtIMGCode=&BtnLogin=%E7%99%BB++%E5%BD%95&rcode="; Stream outstream = null; Stream instream = null; StreamReader sr = null; HttpWebRequest request = null; Encoding encoding = System.Text.Encoding.GetEncoding("utf-8"); byte[] data = encoding.GetBytes(postData); // 准备请求... // 设置参数 request = WebRequest.Create(pasturl) as HttpWebRequest; request.Method = "POST"; request.AllowAutoRedirect = true; request.KeepAlive = true; request.Referer = "http://106.37.230.254:81/"; request.Headers.Add(HttpRequestHeader.AcceptCharset, "GBK,utf-8;q=0.7,*;q=0.3"); request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); request.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3"); request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.5 Safari/534.7"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; request.Headers.Add("X-Requested-With", "XMLHttpRequest"); request.Headers.Add("DNT", "1"); request.CookieContainer = cookieContainer; outstream = request.GetRequestStream(); outstream.Write(data, 0, data.Length); outstream.Close(); //发送请求并获取相应回应数据 Cookie LoginOnCookie = null; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { if (response.Cookies.Count == 0) { LoginOnCookie = null; } else { LoginOnCookie = response.Cookies[0]; //直到request.GetResponse()程序才开始向目标网页发送Post请求 instream = response.GetResponseStream(); sr = new StreamReader(instream, encoding); //返回结果网页(html)代码 string content = sr.ReadToEnd(); } } return LoginOnCookie; }
模拟GET获取返回cookie,页面内容
public Cookie getCodeCookie(string url,CookieContainer cookieContainer) { HttpWebRequest request; // 设置参数 request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.AllowAutoRedirect = true; request.KeepAlive = true; request.Referer = "http://106.37.230.254:81/"; request.Headers.Add(HttpRequestHeader.AcceptCharset, "GBK,utf-8;q=0.7,*;q=0.3"); request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); request.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3"); request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.5 Safari/534.7"; request.ContentType = "application/x-www-form-urlencoded"; request.Headers.Add("X-Requested-With", "XMLHttpRequest"); request.Headers.Add("DNT", "1"); request.CookieContainer = cookieContainer; Cookie CodeCookie = null; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { CodeCookie = response.Cookies[0]; GZipStream g = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress); StreamReader myreader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")); String responseText = myreader.ReadToEnd(); } return CodeCookie; } public String getStudentInfo(string url,CookieContainer cookieContainer) { HttpWebRequest request; // 设置参数 request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.AllowAutoRedirect = true; request.KeepAlive = true; request.Referer = "http://106.37.230.254:81/"; request.Headers.Add(HttpRequestHeader.AcceptCharset, "GBK,utf-8;q=0.7,*;q=0.3"); request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); request.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3"); request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.5 Safari/534.7"; request.ContentType = "application/x-www-form-urlencoded"; request.Headers.Add("X-Requested-With", "XMLHttpRequest"); request.Headers.Add("DNT", "1"); request.CookieContainer = cookieContainer; String studentInfo=String.Empty; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { GZipStream g = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress); StreamReader myreader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")); studentInfo = myreader.ReadToEnd(); } return studentInfo; }
无奈网站出现验证码,切怎么输也不正确,致无法登陆 代码留存做个纪念!
相关推荐
【1】哪些人可以用到 1,不知道咋get、post请求的;...模拟请求串可以自己写,重点是借鉴一下加密方式,如果不会get和post的也可以翻一下里面的局部代码直接拿去用。 【4】留个 E麦 多多交流:guangxfxj圈sina.com
c# http请求模拟
c#模拟post发送json和multipart/form-data格式
使用C#模拟浏览器post发送请求实现自动登录网站的例程~
private string HttpPost(string Url, string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = POST; request.ContentType = application/x-...
C# post模拟提交多个图片接收图片并存到存到服务器上。
在c#下实现http post get 方式的模拟登陆,其中包括登陆端的服务器端
NULL 博文链接:https://javasam.iteye.com/blog/2117845
字符集使用UTF-8编码,数据通讯统一采用 HTTP 协议通讯,使用POST 方法请求并传递参数。 POST请求Content-Type 设置为application/x-www-form-urlencoded 除此之外,我们对请求添加签名的校验,key设置为X-Sign 接口...
该工具使用 C# 多线程开发,可以很方便的模拟Http的get及post、application/x-www-form-urlencoded 二进制请求,或者其他方式的请求来调试接口。 可对以提交的数据参数进行保存,便于下次使用。
研发者可以用这个工具模拟GET、POST请求,支持添加header。
HttpPost请求和JSON解析 个人知识总结
自己用C# 写的一个 http 测试工具,可以模拟http post get 请求
本文实例为大家分享了C#请求http向网页发送数据、网页接收,供大家参考,具体内容如下 首先,我们需要的是什么东西? 用POST方式请求http,给网页传输数据,网页接收到数据之后,把数据存储到数据库中。 1.首先请求...
比如一些抢票软件的原理无非也是这样模拟客户端的cookie 然后发送请求去抢票,然后12306 本文将演示如何用C# 来实现模拟登陆的,推荐一款工具Fiddler,这是一款监听http 请求的利器。废话不多说,我就以博客园为例来...
平时用浏览器看网页的时候,点击一下submit按钮的时候其实就是给服务器发送了一个POST请求。但是如何在自己的C#程序里面实现类似的功能呢?本文给出具体的实现方法并详细说明其实现难点。
包含:C#的HTTP模拟 POST+GET请求、多任务管理、多线程及json数据解析。