我想从Windows手机市场页面获取HTML代码。到目前为止,我没有遇到任何问题,但每次检索数据时都会显示以下错误。
[...]您的请求似乎来自自动流程。 如果这不正确,请点击此处通知我们重定向[...]。
我尝试使用代理,以防从一个IP调用许多请求,但这不会带来任何进展。你碰巧知道为什么会出现这个问题,有关可能出路的任何想法吗?任何帮助将非常感谢。主要目标是以某种方式从市场获取有关Windows Phone应用程序的信息。
答案 0 :(得分:3)
它们似乎检测到用户代理并阻止请求,如果它对设备无效/已知。
我设法让它与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/app/pinpoint-by-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的块。