stackoverflow上已有类似的问题,但他们的解决方案都没有为我工作.我正在尝试使用cURL在LoveIt.com上抓取一个页面,但它返回404错误,而网址在浏览器中工作正常:
$url = 'http://loveit.com/loves/P0D1jlFaIOzzZfZqj_bY3KV';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt ($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_REFERER,'http://loveit.com/');
Run Code Online (Sandbox Code Playgroud)
这是我收到的标题:
数组([url] => http://loveit.com/loves/P0D1jlFaIOzzZfZqj_bY3KV [content_type] => text/html; charset = utf-8 [http_code] => 404 [header_size] => 667 [request_size] => 172 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.320466 [namelookup_time] => 0.000326 [connect_time] => 0.119046 [pretransfer_time] => 0.119089 [size_upload] => 0 [ size_download] => 499 [speed_download] => 1557 [speed_upload] => 0 [download_content_length] => 499 [upload_content_length] => 0 [starttransfer_time] => 0.320438 [redirect_time] => 0 [certinfo] => Array()[ primary_ip] => --- [primary_port] => 80 [local_ip] => --- [local_port] => 53837 [redirect_url] =>)
我读到一些网站对这种脚本有保护; 我确实测试了一些解决方案,但没有一个适用于我(CURLOPT_USERAGENT,CURLOPT_REFERER ......)
关于这里发生了什么的任何想法?
我想备份我的LoveIt帐户,这就是为什么我这样做(没有出口功能,没有来自LoveIt.com的关于网站健康状况的回复)
我快速检查了启用了 LiveHeaders 的页面,并注意到设置了一堆 cookie。我怀疑,由于它不是“正常”url,因此您需要在重定向时传递这些 cookie,否则您最终会被 404 踢出。CURLOPT_COOKIEJAR在开始时与您的 cURL 实例一起使用。请参阅: http: //php.net/manual/pl/function.curl-setopt.php
| 归档时间: |
|
| 查看次数: |
12612 次 |
| 最近记录: |