This site requires JavaScript and Cookies to be enabled的解决方法

今天在做POST登陆程序,在用httpclient得到登陆页面的时候出问题了,页面代码如下:

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">   < body>< noscript>This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.


This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.

开始以为这一句是浏览器可以监测到JS是否运行,那我这个POST登陆就做不成了,只能考虑用IE插件模拟登陆了。

但查资料,有人说“服务器是没法判断你是否启用JS的。而判断COOKIE的话,应该是在首页的时候会发给你一个COOKIE,并且在其他页面判断是否有COOKIE,所以就得在COOKIE上入手,而不是User-agent”

这下就放心了。这个解决方法还是很简单的,就是模拟JS,给httpclient加上页面代码里的COOKIE后,再次访问登陆页面就可以得到正常的代码了

问题终于解决了,就在于第一次抓取数据时,如上返回的数据,根据该数据,只要给HttpClient设置好Cookie,再重新抓取就可以了

 

你可能感兴趣的:(c#)