我想从
Windows手机市场页面获取HTML代码.到目前为止,我没有遇到任何问题,但今天每次检索数据时都会显示以下错误.
[…] Your request appears to be from an automated process.
If this is incorrect,notify us by clicking here to be redirected […].
我尝试使用代理,以防从一个IP调用许多请求,但这不会带来任何进展.你碰巧知道为什么会出现这个问题,有关可能出路的任何想法吗?任何帮助将非常感谢.主要目标是以某种方式从市场获取有关Windows Phone应用程序的信息.
解决方法
它似乎检测到用户代理并阻止请求,如果它对设备无效/已知.
我设法让它与curl一起使用,例如.
curl -A’Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9)Gecko / 20071025 Firefox / 2.0.0.9’http://www.windowsphone.com/en-us/store /应用程序/针尖逐foundbite / ff9fdf41-aabd-4cac-9086-8710bd327da9
我设法让它与curl一起使用,例如.
curl -A’Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9)Gecko / 20071025 Firefox / 2.0.0.9’http://www.windowsphone.com/en-us/store /应用程序/针尖逐foundbite / ff9fdf41-aabd-4cac-9086-8710bd327da9
对于asp.net,如果您使用HttpRequest获取html内容,请尝试以下操作:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9";
对于PHP,您也可以通过curl_setopt设置用户代理.
在几次请求之后,我无法找出是否存在基于IP的块.