当我尝试抓取amazon.com时,出现此错误。
403错误 无法满足该请求。
这是用于抓取的卷曲代码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, 'xxx.xxx.xxx.xxx');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_PROXYPORT, "80");
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "username:password");
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.1224.87 Safari/547.36 OPR/43.0.2442.45");
$result['EXE'] = curl_exec($ch);
$result['INF'] = curl_getinfo($ch);
$result['ERR'] = curl_error($ch);
curl_close($ch);
return $result;
但是,当我尝试使用其他亚马逊域(例如.fr或.in)时,它的效果很好。这与Amazon或我的脚本有关吗?
答案 0 :(得分:1)
只需查找HTTP代码,您将发现:
403禁止 该请求有效,但是服务器拒绝操作。用户可能没有资源的必要权限,或者可能需要某种帐户。
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
您的IP可能已被禁止,这就是Amazon提供API的原因。