我正在尝试从PHP中的其他网站加载页面,以便我可以抓取其内容。这适用于几乎任何其他网页,但由于某种原因它不适用于这个:
有人知道为什么吗?它是防火墙还是什么? 或者知道另一种方法可以做到这一点?即使是另一种语言?
这是我正在使用的cURL代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $theurl);
$response = curl_exec($ch);
curl_close($ch);
我已尝试过这些cURL选项:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_PORT , *ports 22 and 433*);
**知道要尝试的其他任何端口吗?或者找出主机使用的端口的方法?我正试图通过可能的端口循环。
我试过获取信息,这就是我所拥有的:
$info = curl_getinfo($ch);
print_r($info);
返回
Array ( [url] => http://www.bkstr.com/webapp/wcs/stores/servlet/CourseMaterialsResultsView?catalogId=10001&categoryId=9604&storeId=10161&langId=-1&programId=562&termId=100022286&divisionDisplayName=Stanford&departmentDisplayName=CS&courseDisplayName=103§ionDisplayName=01 [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 289 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.602861 [namelookup_time] => 0.226121 [connect_time] => 0.285047 [pretransfer_time] => 0.285149 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => 0 [upload_content_length] => 0 [starttransfer_time] => 0.602824 [redirect_time] => 0 )
非常感谢!
答案 0 :(得分:0)
我现在意识到网络管理员一定不能启用CORS。为了抓住页面,我写了一个Java机器人,它在我的浏览器中加载了页面并将其保存到文件中。凌乱但最终有效......