httpwebrequest-HttpWebRequet模拟请求与浏览器一样,为什么Respnse回来的结果不一样?

问题描述

HttpWebRequet模拟请求与浏览器一样,为什么Respnse回来的结果不一样?

各位大牛,

小弟业余爱好者。我用HttpWebRequest模拟请求网站,我通过,Fiddler查看

我与浏览器的请求头Header,内容一样,但返回的结果不一样,我的程序得到的

是空白内容,而浏览器返回的是真正的内容。我研究,并提取了cookie,重新加

入请求头再次请求,结果还是空,到底是什么原因啊。请求各位高人,指点迷津。

解决方案

换个网站试试呢,所有网站都一样吗?

解决方案二:

除了cookie,还有其他http hjeader的数据是否一致

解决方案三:

无非就是请求头的各个字段,比如useragent cookie refererx-forward-for等等以及url和post data

解决方案四:

要特别注意,一些东西,比如url参数什么的,要根据请求生成,而未必是每次照抄。

解决方案五:

打个比方,服务器返回一个验证码,你提交上去。这个过程是一次性的。因为服务器收到你的提交无论对错,都会清除/修改服务器session中的验证码了。

那么你再次用相同的请求伐过去,自然就无效了。所以还要结合你的程序来看。往往秘密还在你的页面的js代码中。

时间: 2024-12-02 00:58:21

httpwebrequest-HttpWebRequet模拟请求与浏览器一样,为什么Respnse回来的结果不一样?的相关文章

C#HttpWebRequest 模拟请求一个URL和在网站上直接输入这个URL返回的页面不一样

问题描述 C#HttpWebRequest 模拟请求一个URL和在网站上直接输入这个URL返回的页面不一样 以上都是同一个URL请求返回的页面.为什么会出现这种情况,实在没有C币了求好心人帮助. myRequest = (HttpWebRequest)WebRequest.Create(requestUrlString); myRequest.Method = ""GET""; myRequest.UserAgent = ""Mozilla/5.

服务器-一次HttpWebRequest模拟请求,触发BeginRequest事件两次

问题描述 一次HttpWebRequest模拟请求,触发BeginRequest事件两次 服务器:Server 2008 , IIS 7.5, 请求的一般处理程序 一次HttpWebRequest模拟请求,触发HttpModule的context_BeginRequest事件两次,第一次带参数,第二次没有参数 这样操作是为了过滤一些非法请求占用IIS并发, 例如请求不存在的页面或图片,请求不带参数等情况. 被这个问题折磨两天了,希望有大神指点!!!先跪了

HttpWebRequest 模拟请求,怎么传递当前用户信息?

问题描述 我有2个站点.A站点用户登录,提交数据给B站点,B站点需要或去当前用户.this.User.Identity.GetUserId()在B站点始终为null,A站点能或去到值.请问怎么解决? 解决方案 解决方案二:可以考虑cookie或者session共享,或者B站做接口,将登录信息提交给B站,B站重新获取和登录解决方案三:你要的是SSO解决方案四:B站点做接口,由A站点调用传进去解决方案五:用接口传过去就行了吧解决方案六:引用3楼FoxDave的回复: B站点做接口,由A站点调用传进去

httpwebrequest模拟请求奇怪错误

问题描述 httpwebrequest模拟请求模拟请求表单的post请求表单时multipart/form-data模式的模拟请求出错错误信息如下SpecifiedvaluehasinvalidControlcharacters.Parametername:valueatSystem.Net.WebHeaderCollection.CheckBadChars(Stringname,BooleanisHeaderValue)atSystem.Net.HttpWebRequest.SetSpecia

从session实现机制分析模拟请求验证码的可行性(转)

悲剧了,发现写完这篇blog没有配上这个格调超高的标题.   1.0问题背景 现在要实现一个带验证码网站的的自动登陆功能.验证码识别过程不再这篇文章的讨论之中.(之后有篇文章我会详细的总结验证码的识别过程).现在问题来了,怎么拿到你本次请求登陆页面的验证码图片? 2.0方案分析 现在有几种思路: (1)请求登陆页面,截取验证码图片,类似截屏,seleinum,webbrower的DrawToBitmap()等. (2)还是webbrower,将图片复制到剪切板在从剪切板中搞出来 HTMLCont

游戏-如何加密客户端请求,防止别人模拟请求

问题描述 如何加密客户端请求,防止别人模拟请求 我要做一个网页的小游戏.游戏完成之后,向后台提交分数.但是提交分数的这次请求,别人可以通过浏览器的调试工具看到,然后模拟请求达到作弊的目的.有什么好的方法解决这个问题吗? 解决方案 用https,或者自己把参数加密 解决方案二: https也能被浏览器调试工具看到 你应该把数据加密,然后提交. 解决方案三: 可逆加密解密,,,,,, 解决方案四: RSA加密,这样子很难解密的 解决方案五: https+token(随机生成,唯一),这样应该就可以实

模拟请求webservice并获取返回报文

     有时需要模拟请求webservice服务,并处理返回的报文,根据报文的信息进行业务处理.      样例代码如下:  import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import

WebClient是模拟服务器的浏览器还是客户端的浏览器

问题描述 举个例子:通过A浏览器去访问B服务器上的web站点,B服务器上的web站点程序利用webClient类去访问C服务器上的web站点,我想问的是:webclient是模拟B的浏览器还是A浏览器?会话(session)是A的还是B的呢? 解决方案 解决方案二:如果想模拟浏览器访问的话可以试一下webbrowser控件.解决方案三:肯定是B服务器解决方案四:当然是似B的浏览器来访问啦解决方案五:webclient封装的是webrequest

c#用httpwebrequest如何模拟抓取这样的网页信息

问题描述 c#用httpwebrequest如何模拟抓取这样的网页信息 c#用httpwebrequest如何模拟抓取这样的网页信息,下面内容是用fiddler抓取的.CONNECT user.cloudcall.hk:8080 HTTP/1.0User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1) AppleWebKitHost: user.cloudcall.hk:8080Content-Length: 0Connectio