模拟验证的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#中,我们可以使用`System.Net.Http`命名空间中的HttpClient类来处理HTTP请求。以下是如何使用HttpClient发送GET和POST请求的示例: **GET请求示例:** ```csharp using System.Net.Http; using System....
本主题聚焦于“C#模拟POST请求”,这是网络编程中的一个关键概念,允许开发者在应用程序中发送数据到服务器,类似于用户通过浏览器提交表单的方式。下面将详细介绍这个知识点及其相关应用。 一、理解HTTP POST请求 ...
HTTP请求模拟允许开发者在代码中复现浏览器与服务器间的通信过程,以发送GET、POST等不同类型的请求。本文将深入探讨如何在C#中实现HTTP请求模拟,并以`TestHttpPost`为例,讲解POST请求的实现。 首先,让我们了解...
本文将深入探讨如何使用C#编写控制台程序来模拟浏览器发送HTTP请求,以及实现请求流程的自动化。 首先,我们需要了解HTTP请求的基本结构。一个标准的HTTP请求由以下部分组成:请求行(包括请求方法、URL和HTTP版本...
在C#编程中,模拟POST提交通常用于模拟用户在网页上的表单提交行为,...以上就是使用C#模拟POST提交上传图片到服务器的基本流程和关键知识点。实际应用中,可能需要根据具体的业务需求和服务器端的API进行相应的调整。
在理解如何用C#模拟提交表单之前,我们需要先了解HTTP POST请求的基本原理。POST请求是一种用于向服务器发送数据的方法,常用于表单提交等场景。它将数据放在HTTP请求的主体中,而不是URL中。这种方式更适合于传输...
在本主题中,我们将深入探讨如何使用C#来模拟POST请求,以便发送JSON和multipart/form-data格式的数据。这两种数据格式在现代网络应用中非常常见,特别是用于API交互和文件上传。 首先,让我们了解JSON(JavaScript...
在.NET框架中,C#是一种...通过这个简单的C#模拟POST提交的示例,开发者可以快速地构建自己的HTTP客户端,与任何支持HTTP服务的系统进行交互,而无需依赖第三方库。这个功能强大且易于使用,是C#开发者必备的技能之一。
通过上述步骤,我们已经成功实现了使用C#模拟POST请求的功能。此方法不仅可以用于测试目的,还可以集成到实际的应用程序中,以实现与远程服务的交互。理解这些基本概念对于从事Web开发的程序员来说至关重要。
本项目涉及的关键知识点是“C#模拟http请求传输数据”,这通常指的是使用C#来构造网络请求,以便与远程服务器进行数据交互。在这个过程中,我们将探讨如何在C#的WinForms环境下操作Access数据库,构建JSON数据,并...
C# WINFORM实现模拟POST发送请求登录网站 在本篇文章中,我们将探討如何使用C#模拟浏览器post发送请求实现自动登录网站的方法。通过阅读本文,您将了解到如何使用HttpWebRequest和HttpWebResponse类来发送POST请求...
本文将详细介绍如何使用C#中的`HttpWebRequest`来发送POST请求,并实现网站的自动登录。 #### 发送POST请求的基本步骤 1. **创建HttpRequest对象**:首先需要创建一个`HttpWebRequest`对象,并设置其URL地址。 2. ...
它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用HttpClient进行HTTP请求操作,以及如何处理JSON数据。 首先,我们需要引入HttpClient的相关依赖...
总的来说,C#模拟POST抓取数据涉及网络编程、HTTP协议理解、数据解析和可能的并发处理等技能。通过熟练掌握这些知识点,开发者可以构建出强大的网络爬虫系统,高效地从互联网上获取并处理所需的信息。在实践中,务必...
C#实现Http post方式 服务端+客户端源码,修改成你的ip端口,直接运行可用 【核心代码】 //提供一个简单的、可通过编程方式控制的 HTTP 协议侦听器。此类不能被继承。 httpobj = new HttpListener(); //定义url及...
总结起来,C#模拟登录网站涉及到网络请求、表单提交、cookies管理和可能的验证码处理。以上就是使用C#进行网站模拟登录的基本步骤和关键点。在实际应用中,可能还需要处理其他细节,如处理重定向、错误处理、解析...
private string HttpPost(string Url, string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = POST; request.ContentType = application/x-...
c#下的http请求通用类(自动实现保留上传请求cookie,自动登录)。调用getUrlResponse方法可以获取HttpWebResponse请求对象,调用getUrlRespHtml方法可以获取请求获得的html内容。还可以设置代理IP地址。
POST和GET是HTTP请求的两种主要方法。 1. GET方法:GET用于请求访问已经被URI(统一资源标识符)识别的资源,通过URL将数据传递给服务器。GET请求通常用于获取信息,它将参数附加到URL后面,且对长度有限制,不适合...