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

各位大牛,

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

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

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

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

0

5个回答

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

0
testcs_dn
微wx笑 回复dynamicboy2005: 看样子网站是做了什么特殊处理了,或者你的还缺少什么
4 年多之前 回复
dynamicboy2005
dynamicboy2005 换个网站,基本上第一次就能访问成功,就这个,还是我第一个测试的,就卡了,郁闷啊。
4 年多之前 回复

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

0
dynamicboy2005
dynamicboy2005 第二次请求用的cookie是第一次服务器响应回来的并加密在javascript当中的,我解码后肯定用的是一样的cookie。至于Header,也一样,只是上下排列位置不同而已,这也有影响吗?好像HttpWebRequest无法设置先后顺序啊?
4 年多之前 回复

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

0
dynamicboy2005
dynamicboy2005 于是,我将从第一次请求的返回结果中,解密出来的cookie键值对,加入了第二次HttpWebRequest请求对象中,再次请求的,返回的结果尽然和第一次一样。清空其cookie用浏览器访问,明显是访问了两次,而我也模拟了这一过程,为什么得到结果与浏览器不一样,难道还有什么在服务器端的验证逻辑吗?
4 年多之前 回复

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

0
dynamicboy2005
dynamicboy2005 我从它第一次发回来的,页面中的javascript解密出了一两句话,其首先是设置了document.cookie,然后用document.location.href=document.location.href貌似又指向了本页的url进行了再次请求。
4 年多之前 回复
dynamicboy2005
dynamicboy2005 我从它第一次发回来的,页面中的javascript解密出了一两句话,其首先是设置了document.cookie,然后用document.location.href=document.location.href貌似又指向了本页的url进行了再次请求。
4 年多之前 回复

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

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

0
dynamicboy2005
dynamicboy2005 js中实在没有内容了,可是body中有一个不显示的a标签,即:<a href="/stream_5323039fade0f_54a25c195940a?id=2" style="display:none"></a>。可是js中好像没有用到它啊,难道?
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Jsoup解析网址与浏览器查看内容不一致
开发过程中,用Jsoup解析糯米团购网站页面的时候,发现取得的页面和浏览器查看到的页面不一样,而是手机页面。 程序代码如下: 1 content = Jsoup.connect(&quot;http://www.nuomi.com&quot;).timeout(6000).get();//取得整个页面内容; 经过跟踪代码执行,发现content取得的内容和用...
URL 在浏览器访问与用CURL访问,返回结果不一致
【问题描述】 1、该URL是一个接口,在用浏览器访问时,返回的是正常的JSON数据。 2、用CURL或者基于WinInet的HTTP客户端访问时,返回的404的网页内容,如下图所示:   【解决方案】 1、确认URL在使用浏览器访问时,返回的是正确的数据,目的在于确定接口没问题。 2、确认该接口访问时,有没有指定访问的方法(GET还是POST)。 因为没有使用接口指定的方法(GE...
Jmeter和Postman在用post方式请求接口时返回值不一样的问题
问题 QQ群有个同学说,有一个接口,请求方式为post,入参为json格式,使用postman和jmeter请求返回的数据不一样。 在用postman请求时,返回数据与预期一致,只有一个查询结果,请求如下: postman请求.png postman返回数据.jpg 在用jmeter请求时,返回数据比预期多,并且数据不对: ...
浏览器响应内容和程序响应内容不一致的原因简析
最近几天在写一个项目,和之前不同的是我想要的内容都在html标签里,所以选择xpath或者bs4来提取相关的内容,在实践的过程中遇到了一些问题,特此记录以便于查阅。 现象一:浏览器响应内容和程序响应内容不一致 当你在抓包的时候,找到了你想要的内容,并且响应的内容和页面是一致的,但是在写程序的时候,发现跑出来的内容却不一样(注意elements里面的内容和响应不一致的原因是有JS动态加载) (...
控制台解析preview和response数据不一致怎么解决
原因可能是因为数据为Long型,返回给浏览器以后,浏览器转换数据格式的时候出现问题。解决方案:在返回数据之前就将数据转换为字符串,这样结果就是正确的。在返回前台数据类的 long字段上加入@JSONField(serializeUsing= ToStringSerializer.class)...
scrapy通过Request返回的页面数据与浏览器查看到的页面数据不一致
1.URL的地址可以反映请求用户所在的区域,区域不同返回的数据也不同 例如:http://www.xxxx/en/xxx 和 http://www.xxxx/cn/xxx 就可以看出不同 2.请求用户的IP地址所在的区域,如果使用代理,则返回的数据也可能不同。 3.请求头的设置不同,例如:user-agent,accept-language不同也会导致返回的数据不同。 scrapy有自己...
模拟浏览器http请求,获得网页重定向后的信息
业务背景: 在项目开发中,常常需要与已有成型的系统通过使用http请求进行数据交互,而为了不直接修改已有系统的接口信息,需要通过使用网页重定向来进行跳转。也就是我们访问http://www.ibm.com.cn网站时,觉得很奇怪,明明键入的是http://www.ibm.com.cn,怎么IE自动把它变成了http://www.ibm.com/cn/,而且已访问结果也是正确的。 假设我们需要访
HTMLUnit进行模拟浏览器抓取优劣
近期需要抓取一些数据,而这些数据都是需要从后台进行异步请求获取的。故图个方便使用了HtmlUnit这个开源工具进行开发。现整理一下其优劣点: 优点: 1.可以模仿浏览器对服务器进行请求,能够抓取几乎网络上浏览器能看到的所有信息。 2.用户操作接口比较便捷,比如click、focus等元素事件可直接在获取DOMElement等元素对象后直接使用。 3.上手比较快,按照用户操作浏览器习
浏览器下相同代码在不同页面内显示不同
调试页面的时候发现一个问题,相同的一个input[type='search'],在某一页面(A页面)内盒模型为border-box,在其他页面盒模型为content-box 。开F12检查代码发现,A页面内部input 的样式里多了一行user agent stylesheet ,box-sizing:border-box;然后比较页面差距时,发现A页面首行代码 &amp;lt;!DOCTYPE html...
同一时间 同一区域用百度或谷歌搜索 排名为什么不一样 seo
相信不少SEOer有过这样的“奇怪”经历:同一时间、同一区域利用百度或谷歌搜索,为什么百度或Google的关键词搜索结果排名会不一样呢?换台电脑或是换个城市,搜索结果还是显示不同。其实,编辑也犯过类似地错误,一度还以为是关键词优化得当,“RP爆发”,搜索引擎排名快速上升了!那么,究竟是什么原因导致百度和谷歌搜索结果排名不同呢?下面,编辑就给大家分析下造成这种现象的原因。 谷歌搜索结果不同的原因
客户端访问后台每次请求sessionId不同的两种不同处理方式
许多框架在封装的时候由于各种安全等原因,导致使用自身的封装请求时每次都是使用新的会话,导致每次的sessionid都不同。 解决方法: 1.如微信小程序 可以直接修改 header.cookie = ‘SESSION=’ + sessionId cookie里面的数据时可以考虑在后端校验成功后将当次的sessionid返回到页面,页面再修改cookie进行下一次请求,如果过期了,再调用后台登录方法...
程序每次运行结果不一样
<br />今天做软件更新图标的时候,遇到的一个看起来很奇怪的问题,便是显示的图标每次都不一样。后来查了半天,发现是自己写的代码里面,寻找图标的索引值没有初始化的结果,所以导致每次看起来的图标均不一样。<br />这些细节问题看似很不经意,却比较容易引用未知的错误。告戒自己以后写代码一定要养成好习惯!做一次宝贵的经验记下吧。
IE浏览器下ajax重复提交的问题处理
最近在IE浏览器下调试一个项目,这个项目里面包含onmouseover时用到 ajax的异步请求,当我们第一次加载页面鼠标移动到一个链接时可以成功的触发属性。不过在当我们把鼠标从新移动到另一个链接触发onmouseover 时就会显示出错,不是新触发的链接,IE浏览器左下的状态栏依然显示的还是第一次onmouseover触发时候连接。 遇到这个情况奇怪,以为是自己的ajax有错误,后来去
cookie简单理解 //iOS和Android 有时候同样的请求方式 同样的接口 结果会不一样
cookie存储  可以和服务端的session对比来看,理解更深刻,这里只做简单描述! 由于HTTP协议是地域无关的,所以用户经常使用cookies作为持久存储。URL加载系统提供接口来创建和管理cookies,发送cookies作为http请求的一部分,当收到服务端响应时获取cookies。 OS X和iOS提供NSHTTPCookieStorage类,这个类提供管理NSHTTPC
javaWEB相同项目同一路径访问结果不一致解决
在给项目写接口中,本人将用户uuid缓存至ehcache中,但是出现一个诡异的问题,就是其中两个接口能正常根据uid获取用户信息,唯有一个接口根据uid一直获取不到用户信息,并且在本地运行正常,唯独服务器上不通过,通过对classLoader的输出中发现出问题的请求的classloader与正常的classloader不一致,原来是在tomcat服务器中设置了ROOT目录,可以不输入项目名称直接访...
C++ 模拟浏览器发送HTTP请求
#include #include #include #include #include "Wininet.h" #pragma comment(lib,"Wininet.lib") //模拟浏览器发送HTTP请求函数 std::string HttpRequest(char * lpHostName,short sPort,char * lpUrl,char * lpMethod,ch
解决方案--爬虫拿到的HTML和浏览器中的源码不相同
以前学习Scrapy框架时遇到过这个问题,但是当时没有整理解决方法,最近一同事问起这个问题后又花了不少时间才解决,所以我觉得有必要整理一下这个问题。    之所以Scrapy下载的HTML和浏览器中呈现的HTML不一样是由于网页中的一些页面是由JS触发的,所以我们只要模拟浏览器的JS触发时间就可以解决该问题,现在最常用的是使用Selenium解决此问题。 Selenium   作
浏览器Http请求头部比较(多浏览器http请求头)
转自:http://blog.csdn.net/kjb000/article/details/7774588   谷歌浏览器 GET /favicon.ico HTTP/1.1 Host: localhost Connection: keep-alive Accept: */* User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) Apple
如何保证MD5加密结果在不同的环境下都相同
首先我们来看一下Java是如何实现MD5的:   import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Digest {     priv
解决srand()与rand()每次运行结果一样的问题
-
java并发编程多个线程为什么执行的先后顺序不一样!
jvm为了使得处理器内部的运算单元能尽量被充分利用, 处理器可能会对输入代码进行乱序执行(Out-Of-Order Execution)优化,处理器会在计算之后将乱序执行的结果重组,保证该结果与顺序执行的结果是一致的,但并不保证程序中各个语句计算的先后顺序与输入代码中的顺序一致,因此,如果存在一个计算任务依赖另外一个计算任务的中间结果,那么其顺序性并不能靠代码的先后顺序来保证 摘自:《深入理解...
Java 获得网页源代码和模拟浏览器请求(个人总结)
Java获取源代码自己知道的几种方式,在这里总结一下。 1:GetSourceCode.java package kalision; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLC
String的getBytes方法在不同的环境返回不一样的值
今天在用RSA加密的时候发现一个奇怪的问题,我用main方法调用加密方法得到的结果和部署到tomcat后从页面请求得到的结果不一样,进一步测试发现是 str.getBytes();在两种环境下返回的值不一样. 原来getBytes()方法如果不给编码方式的话,默认是按平台默认的字符集来编码,显然这里用main方法调用的时候和tomcat里面调用的时候拿到的字符集不一样,加上字符集后就正常了
每次发起的request获取的sessionid不一致问题
遇到类似问题的博客不少,也没几个能说出个所以然或是给出一个合理的解决方案的。 找到一个博客还可以:http://blog.csdn.net/u011521890/article/details/73719198 这里仅作记录,待日后验证!!
scrapy遇到的坑关于 scrapy发起请求和requests发起请求返回的数据不一样的问题 (发起的是request payload)
在抓取携程的时候遇到一个问题 刚开始因为公司是内网的原因scrapy无法访问网站 已启动就是超时重连后来决定用requests来对携程进行采集 刚开始用requests进行采集的时候一点没有问题采集回来的数据如下 返回的数据一切正常但是使用scrapy就出现了问题出现的问题和如下: 可以看到返回的是聚是类似html类似的东西 解析起来比较麻烦后来找到问题所在: 在请求头中加入...
curl 模仿浏览器post 访问
//仿post访问         //声明语言         header('content-type:text/html;charset=utf-8');          //传值三个参数      访问路径  数值   方式         function curlPost($url,$data,$method){           $ch = curl_i
problem:浏览器中显示的内容,和通过右键看到的网页源码不一样?(未解决)
今天做淘宝爬虫时,发现:浏览器中显示的内容,和通过右键看到的网页源码不一样? 查了资料还是不太懂。。。前端知识几乎没有。查看原文件只是看到的网页初始状态,但实际上网页在加载完成后可能立即就会执行 js 改变了初始状态。现在的网页不同于传统的动态网页,能在不刷新网页的前提下改变网页局部的数据,这一切都是通过 js 和服务器交互进行的。这就好比你一个程序,用对话框编辑器设计了一个界面,但是在实际运
Android studio:一样的代码,不一样的的功能?(错误)
昨天在把项目整合的时候,遇到了一个问题前提:我用的高德地图SDK,android studio开发问题:当我在demo上开发车不多的时候,我把它整合到我的项目中去,奇怪的一幕来了,同样的手机,代码一样,jar包,so包等等都是一样的,一个能显示地图,一个地图黑屏(仅是地图黑屏)(key值也换了)我为此大感疑惑,并查了各种资料,没有找到原因。报错不知道是啥于是我在想,一个黑屏,一个没事,这是啥问题呢...
普通浏览器GET请求与Ajax的GET请求的区别
看图   普通浏览器请求   Ajax请求
elasticsearch相同两次搜索出现不一样的结果
集群情况下,elasticsearch出现前后两次搜索结果不一致的原因是:两次查询并不是同一分片进行处理的。 在我们理解中,同样是4号分片,主分片和副分片数据都是一致。但是当分别用这两个分片去查时,就会发现搜索结果不一致,_score不一样。在官方文档中,提到分片中存在标记为已删除的文档,这些文档只有在下一次旧文档所属的段合并时才会从磁盘中删除。但是出于实际原因,这些已删除的文档会被考虑用于索引...
同一个项目接收请求的时候每次获得的session都不同
今天使用spring mvc做一个测试案例,将数据保存在session
不同浏览器支持不同的Xpath
1、火狐浏览器FireFox附加组件,FireBug, Xpath Finder 2、谷歌浏览器Chrome,附加组件,Xpath helper
同一个网页在不同的浏览器里面字体不一样?
jrchen 36 6月9日 提问 0 关注 0 收藏,538 浏览 0 维基百科的首页, 在chrome和oprea里打开,字体明显不一样。 我看了一下源代码,写得都是 font-family: sans-serif; 难道浏览器的默认字体会不一样么? 前端新人请教。 html前端 链接1 评论更多 3 个回
HttpClient模拟postman/浏览器(登录+访问接口)
package com.aac.erpvisitor.util; import com.aac.erpvisitor.config.ErpUrl; import org.apache.http.*; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.Ht...
RSA加密为什么每次加密的结果不一样
JAVA写RSA加密,私钥都是一样的,公钥每次加密的结果不一样跟对数据的padding(填充)有关。 1、Padding (填充)属性定义元素边框与元素内容之间的空间。 2、padding 简写属性在一个声明中设置所有内边距属性。设置所有当前或者指定元素内边距属性。该属性可以有1到4个值。 3、当元素的 Padding(填充)(内边距)被清除时,所&amp;quot;释放&amp;quot;的区域将会受到元素背景颜色的填充。 4、单...
为什么linux下多线程编程,每次执行结果都不一样
#include &amp;lt;pthread.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;string.h&amp;gt; #include &amp;lt;errno.h&amp;gt; #include &amp;lt;iostream&amp;gt; using namespace std; voi...
为什么调试时的输出与控制台运行的输出结果会不一样?
以上一篇文章[url=&quot;http://lynnwoo.iteye.com/admin/blogs/718928&quot;]Spring AOP入门及其实例讲解、下载[/url]中Man与FBI为例,运行AOPTest结果出现这样的情况: 时而 [img]http://dl.iteye.com/upload/attachment/281516/5f7bb888-8965-3fb0-882b-737e...
Ajax多次请求同一个URL返回相同值问题
<br />把今天遇到的Ajax多次请求同一个URL返回相同值问题记录下....<br />   <br /> 今天用ASP写了一个AJAX的购物车程序,出现了一点的状况.请求页每次返回的结果都是一样的,我的本意是返回购物车的一些情况,但是只是第一次请求的时候返回值是正确的,后面再刷新页面,发出请求,返回的结果就跟第一次一样了...这个折磨了我一个上午,一开始以为是我的程序出了问题,但后来排除了这个可能.<br />   后来找资料看了下,原来都是网页缓存惹的祸,因为每次我们请求的URL都是相同的,浏览器把
为什么网上查到的ip和自己ipconfig出来的不一样?
起先自己并没有注意到这个问题,这几天再看一些关于网络的书籍,被ip协议,ip地址这些东西搞得稀里糊涂。偶然在浏览器上查了一下IP地址,然后又用cmd ipconfig 看了一下发现两个地址竟然不一样? 瞬间懵逼,啥情况?不是一个主机一个ip?然后网上搜了一下,找到了一篇详细又好懂的,果断收藏了:https://blog.csdn.net/gui951753/article/details/792...
eclipse httpGet 请求返回中文乱码的问题
1、发现获取中文返回的时候,乱码,经过调试,终于成功。 服务器端编码: 采用asp.net  Response.ContentType = "application/json,txt";  Encoding utf = Encoding.GetEncoding("utf-8");  Response.ContentEncoding = utf; 客户端编码: httpRespon
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 北京培训完大数据回来 区块链模拟