关于Httpwebrequest类
我用这个类去模拟进入网页,通过一个连接后进入一个页面(这个页面是框架页,而且我也知道这个框架页地址,)但是用httpwebrequest去进入这个页面的时候会提示这个网页使用的框架,你的浏缆器不支持框架,
这样描述吧 我用httpwebrequest 进入这个页面 http://www.test.com/reg.php 这个页面用了框架,顶部框架和底部框架两个,并且我事先知道了框架页址,我还应该再用这个httpwebrequest去连接一次这个框架地址么? 但这个站有计数功能,我进入http://www.test.com/reg.php 页面后它就会记录我进入了这个页面,它上面的框架地址就会无效,但是我不通过http://www.test.com/reg.php页面进入却又不行(感觉它是通过进入http://www.test.com/reg.php页面后记录了什么信息(我不能越过这个页面直接连进那个框架页地址) 我怎么才能实现呀 帮帮我
------解决方案--------------------我觉得应该是没有设置好HttpWebRequest的相关属性。
楼主可以通过其它http抓包工具如httpdebuger先分析下正常访问这个页面时提交了那些数据,然后再根据这些数据来设置HttpWebRequest相关属性。
如:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strRequestUrl);
request.Headers.Add(HttpRequestHeader.AcceptCharset, "gb2312 ");
request.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-cn ");
request.CookieContainer = cookie;
request.Referer = strReferer;//直接访问框架页时是不是这个没设对?
------解决方案--------------------referer的作用是签定用户是从何处引用连接的, 很多网站都是通过这个referer来防止盗链。在访问B页面时,服务器不会关心你是否访问了A页面,主要是你的Web程序是否允许没有访问过A页面的客户端访问B页面。至于是否是和浏览器的效果一样,我想这还跟很多因素有关,如当前的cookie,session等。