PHP中的cURL不检索响应

问题描述:

我试图从PHP中的另一个网站加载一个页面,这样我就可以抓取它的内容。这适用于几乎任何其他网页,但由于某些原因,它不与这一个工作:PHP中的cURL不检索响应

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&sectionDisplayName=01

有人知道为什么吗?它是防火墙还是什么? 或知道另一种方式去做这件事?即使在另一种语言?

下面是我使用的卷曲代码:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, $theurl); 
$response = curl_exec($ch); 
curl_close($ch); 

我已经试过这些卷曲选项:

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) 

感谢一大堆!

+3

看起来像网站已关闭或无法访问这里也可以解释它?该网站可能确实是防火墙。 – ChrisR 2011-12-20 08:02:00

+1

我有'curl:(56)Recv失败:连接重置peer'所以我认为它的问题在那里的网站。 – piotrekkr 2011-12-20 08:04:55

+0

网站也在这里(荷兰)。这将解释很多:) – Oldskool 2011-12-20 08:21:34

我现在意识到Web管理员一定不能启用CORS。为了抓取页面,我编写了一个Java bot,它在我的浏览器中加载了页面并将其保存到一个文件中。凌乱,但它最终的工作...

+0

IMacros也不错。这些网址参数是什么? – ArtisticPhoenix 2014-07-11 00:21:30