httpwebrequest-HttpWebRequest能模拟XMLHttpRequest的post请求吗?

问题描述

HttpWebRequest能模拟XMLHttpRequest的post请求吗?

如果能模拟,请问该如何具体实现。

 HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(requestUrlString);
                ASCIIEncoding encoding = new ASCIIEncoding();
                byte[] data = encoding.GetBytes(loginpostData);
                myRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0";
                myRequest.Accept = "application/json, text/javascript, */*; q=0.01";
                myRequest.Method = "POST";
                myRequest.ContentType = "application/x-www-form-urlencoded";
                myRequest.Referer = "http://www.ewt360.com/";
                myRequest.Host = "www.ewt360.com";
                myRequest.ContentLength = data.Length;
                Stream newStream = myRequest.GetRequestStream();
                newStream.Write(data, 0, data.Length);
                newStream.Close();
                myRequest.CookieContainer = new CookieContainer();
                //将请求的结果发送给客户端(界面、应用)
                HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                myResponse.Cookies = myRequest.CookieContainer.GetCookies(myRequest.RequestUri);
                cookie.Add(myResponse.Cookies);
                StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                return reader.ReadToEnd();
                            我的代码在获取响应的时候报错了,我想在一个网站上模拟登陆,发现它登陆的时候发送了三个XHR请求,请问我是不是这三个请求都要模拟一遍,还是只要模拟第一个请求呢?没有C币了真心求好心人帮助,做这个数据抓取我已经做的心力憔悴了

解决方案

肯定可以,如果无法登陆,说明你缺少提交的数据,或者没有找到验证数据的接口地址。

发送3个xhr请求,你得研究下他们是否有关系,如果有关系,你必须3个xhr请求的地址都要用webrequest对象请求一遍,获取需要的数据

时间: 2024-11-01 06:07:40

httpwebrequest-HttpWebRequest能模拟XMLHttpRequest的post请求吗?的相关文章

C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站

原文:C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站 我们经常会碰到需要程序模拟登录一个网站,那如果网站需要填写验证码的要怎样模拟登录呢?这篇文章利用了 HttpWebRequest 和 HttpWebResponse 模拟登录了有验证码的网站. 程序设计的界面很简单,三个TextBox分别输入用户名.密码和验证码,一个Image控件显示从网站请求到的验证码图片,还有两个按钮,一个换验证码,一个登录. 写程序前,先用浏览器的开发者工具观察下登

C#模拟post和get请求,无法获取完整的cookie,求大神出来

问题描述 用c#程序模拟请求怎么都不成功,用fildder工具模拟可以成功,后来找到原因是cookie的问题,但是我怎么也获取不到完整的cookie,求大神指点迷津我用程序只能获取到Cookie:JSESSIONID=phWrXFWPMDZnFGLhVL7cW75j8mcbJvl5QJGSwhZ4GNhn2fjS51rl!-2015233359;但是完整的是Cookie:_gscu_1069674962=64177665o5ekay35;_gscu_98558434=641776696tq0q1

用C++模拟网页GET发送请求遇见问题

问题描述 用C++模拟网页GET发送请求遇见问题 这是我模拟网页GET方式,发送一个请求过去,然后接收到的信息.但是中间的set_cookies哪里代码出现了问题,是做了加密,还是我要转换一下UTF-8模式.求指教,该如何解决这个问题.我的目的是通过C++获取到发送过来的set-cookies 解决方案 set cookie本来i就是保存cookie信息 它本身就是i一段字符串来表示客户端 这个含义只有服务段知道 不存在加密 解决方案二: 后来知道了,原来cookies网页是全部发过去的,我一直

Java模拟HTTP Get Post请求 轻松实现校园BBS自动回帖_java

本文实例为大家分享了Java模拟HTTP Get Post请求,校园BBS自动回帖功能,供大家参考,具体内容如下 设计思路 找到帖子链接的集合,最后面数字变化, 就可以得到不同的帖子 防止帖子发表会又被删了的情况, 进行判断帖子是否存在 遍历这个集合, 对每个链接做回帖的POST请求 重难点 Note: 回帖需要用户登录信息 一种是利用Cookie 另一种是进行模拟登录 本文采用前者 代码 代码比较简单,注意事项是找到自己的Cookie,赋给String yourCookeie就可以直接运行 主

php自定义类fsocket模拟post或get请求的方法_php技巧

本文实例讲述了php自定义类fsocket模拟post或get请求的方法.分享给大家供大家参考.具体如下: zsocket.class.php文件如下: <?php class ZSocket { /* * Init */ private function _fsockopen($host, $port, &$errno, &$errstr, $timeout){ $ip = @gethostbyname($host); $s = @socket_create(AF_INET, SO

使用HttpWebRequest向网站模拟上传数据

request|web|上传|数据 最近有个朋友离开IT行业二年的朋友说要实现用程序向某个网站的页面上传数据,他是意思是每天有几十条数据要在网站页面上填写,很烦,最好用程序来写.网站页面是用POST传递的,同时没有验证码之类的东东,只有一点限制就是5分种内不能填写二次记录.这一切都好办. using System.Web;using System.Net;using System.Text;using System.IO; //创建对某个网站页面的请求 HttpWebRequest  myReq

使用HttpWebRequest向网站模拟上传数据_实用技巧

最近有个朋友离开IT行业二年的朋友说要实现用程序向某个网站的页面上传数据,他是意思是每天有几十条数据要在网站页面上填写,很烦,最好用程序来写.网站页面是用POST传递的,同时没有验证码之类的东东,只有一点限制就是5分种内不能填写二次记录.这一切都好办. using System.Web;using System.Net;using System.Text;using System.IO; //创建对某个网站页面的请求 HttpWebRequest  myRequest = (HttpWebReq

php模拟asp中的XmlHttpRequest实现http请求的代码

类名 :HttpRequest($url="",$method="GET",$useSocket=0) //$url为请求的地址:默认请求方法为GET:$useSocket默认为0,使用fsockopen方法,如果设置为1则使用socket_create方法 方法: open($ip="",$port=-1) //打开同服务器的连接,默认不用设置这两个参数(一个同事在linux用的时候,请求的不是hostname解析的IP,因此加了这两个参数,以

php模拟asp中的XmlHttpRequest实现http请求的代码_php技巧

类名 :HttpRequest($url="",$method="GET",$useSocket=0) //$url为请求的地址:默认请求方法为GET:$useSocket默认为0,使用fsockopen方法,如果设置为1则使用socket_create方法 方法: open($ip="",$port=-1) //打开同服务器的连接,默认不用设置这两个参数(一个同事在linux用的时候,请求的不是hostname解析的IP,因此加了这两个参数,以