假如现在有两个网址:A,B
在IE上直接打开A(带参数的)A收到参数进行解析并生成新的参数跳转到B。用HttpWebRequest发起请求,请求A得到的返回流是A解析完后的一个html,里面有一个form包括B的地址和参数,并不是最终跳转到B后的结果,如果再取返回的地址和参数再次请求太麻烦了,因为返回的请求参数可能有10多个。有没有什么方法可以直接把A返回的这个html不用分析直接请求得到返回流。我把A返回的HTML放到webBrowser控件中可以直接得到跳转到B后的结果,但是我不想用webBrowser控件,能不能直接用webBrowser类?
在IE上直接打开A(带参数的)A收到参数进行解析并生成新的参数跳转到B。用HttpWebRequest发起请求,请求A得到的返回流是A解析完后的一个html,里面有一个form包括B的地址和参数,并不是最终跳转到B后的结果,如果再取返回的地址和参数再次请求太麻烦了,因为返回的请求参数可能有10多个。有没有什么方法可以直接把A返回的这个html不用分析直接请求得到返回流。我把A返回的HTML放到webBrowser控件中可以直接得到跳转到B后的结果,但是我不想用webBrowser控件,能不能直接用webBrowser类?
如果B不返回3XX状态码 那样只能重新抓取URL了
关键是你请求B 返回的是什么?HTTP 200吗?
果然,设置 request.AllowAutoRedirect = true;
request.MaximumAutomaticRedirections = 1;
就好了,谢谢了
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(strURL);
myHttpWebRequest.AllowAutoRedirect = true;
myHttpWebRequest.KeepAlive = true;