首页 新闻 会员 周边 捐助

关于HttpWebRequest发送GET请求的问题。

-2
悬赏园豆:200 [待解决问题]

最近研究利用HttpWebRequest和HttpWebRequestResponse实现彩票平台自动购彩功能,遇到一个问题如下:

用火狐浏览器,登录网站www4.hele8cp.com

 

 我通过分析,发现需要获取一个叫uuid的值,并把这个值写入cookie,作为身份依据。而获取这个uuid,需要发起GET请求:
http://www4.hele8cp.com/ecc.pr?name=uuid 
 这个请求里头信息的referer参数为:
http://www4.hele8cp.com/ec/ec.html 
 经过追踪发现,获取这个uuid,从ec.html页面一共发起了两次GET请求,第一次为null,第二次才能获取到正常的值,如下图:

 

下图为两次请求的头部信息:
 
 所以我就用cs程序模拟这个过程,也发起两次请求,结果都是获得的null,不知道什么原因,请求关键代码如下:
 
 1 string Url = "http://www4.hele8cp.com/ece.pr?name=uuid";
 2            
 3             //generate http request
 4             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
 5 
 6             req.CookieContainer = new CookieContainer();
 7             req.CookieContainer.Add(new Uri(Url), new Cookie("homeDox", "1"));
 8             req.CookieContainer.Add(new Uri(Url), new Cookie("JSESSIONID", JSESSIONID));
 9 
10             req.Method = "GET";
11             req.Referer = "http://www4.hele8cp.com/ec/ec.html";
12             //use request to get response
13             HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
14 
15             StreamReader sr = new StreamReader(resp.GetResponseStream());
16             this.textBox1.Text = sr.ReadToEnd();

 

王元森->的主页 王元森-> | 初学一级 | 园豆:2
提问于:2014-07-03 18:05
< >
分享
所有回答(9)
0

明明值发送了一次请求,至于你说第二次请求还是空,那应该是会话状态没保持.你保存下cookie和url参数在第二次请求时也发回去

吴瑞祥 | 园豆:29449 (高人七级) | 2014-07-03 18:46

我一开始可能没描述清楚,现修改了一下问题描述,烦请查阅。

支持(0) 反对(0) 王元森-> | 园豆:2 (初学一级) | 2014-07-03 20:06
0

那会不会是因为,你使用了那个session。它认为你已经获取过那个值了,就不想再传给你了。

angelshelter | 园豆:9914 (大侠五级) | 2014-07-03 21:27
0

你把第二次请求时的http头信息全部弄到httpWebRequest里再试试看?

I,Robot | 园豆:9783 (大侠五级) | 2014-07-03 22:52
0

你能把你发起的两次请求的的包也给抓下来同浏览器的对比下吗?

Launcher | 园豆:45050 (高人七级) | 2014-07-04 09:37
0

host信息放进去了么.?

只会造轮子 | 园豆:2274 (老鸟四级) | 2014-07-04 10:01
0

LZ,一般这样的网址都做了cookie验证 例如JS动态加载的cookie  细心点看看 有没有少传啥子东西

落幕残情 | 园豆:34 (初学一级) | 2014-07-04 11:11
0

首先 CookieContainer

必须是全局唯一的 

你每次new 那就是 新的 cookie了 而不是以前的那个

ps:换句话说 浏览器如果不关闭 那么一直 都使用的是1个cookiecontainer 

第二个问题 你说的2次访问说实话 我没弄明白什么意思

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2014-07-04 14:07

正解

支持(0) 反对(0) 小 雷 | 园豆:314 (菜鸟二级) | 2014-07-04 18:07
0

明显就是CookieContainer没有处理好,正如@小眼睛老鼠 说的,要不,我给你一份代码?

_DN | 园豆:249 (菜鸟二级) | 2014-07-04 17:40

我也有遇到类似的问题,这位大侠能发一份代码给我吗,我邮箱:22566581@qq.com,谢谢。

支持(0) 反对(0) pkjeff | 园豆:202 (菜鸟二级) | 2014-07-08 11:22
0

是不是漏掉了什么参数?问题解决了吗?

晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-07-10 17:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册