对没有文件扩展名的url进行curl请求?
我有以下网址
http://www.davesinclairstpeters.com/auto2_inventorylist?i=37647&c=12452&npg=1&ns=50&echo=2
我想使用curl检索这个URL的内容,但是每次我提出这个请求时,它都会显示错误,因为它没有传递所需的参数
以下是我的代码
$ch = curl_init(); // start CURL curl_setopt($ch, CURLOPT_URL, $json_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); $response = curl_exec($ch);
该页面没有提供任何信息,表明信息没有正确传递。 事实上,它告诉你已收到信息 - 通过查看源代码,你可以看到:
<!--
javax.servlet.forward.request_uri = /auto2_inventorylist
...
javax.servlet.forward.servlet_path = /auto2_inventorylist
...
javax.servlet.forward.query_string = i=37647&c=12452&npg=1&ns=50&echo=2
-->
这告诉你事实上已经收到了信息。
因此,您的代码没有问题,但是与网站本身没有关系。 您应确保您使用的网址有效,或联系该网站以获取更多信息。
关于你的代码本身 - curl_setopt($ch, CURLOPT_HTTPGET, true);
没有必要,因为这已经默认设置了,你也可以将URL作为curl_init
函数的参数传递。 不会影响性能,但会产生更整洁的代码。
$ch = curl_init($json_url); // start CURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
$response = curl_exec($ch);
您的代码非常好,如果返回的内容出错了,只需将此网址粘贴到您的网络浏览器并检查结果即可。 在这种情况下,网站仅仅因为某些原因失败。 没有什么可以做的,因为问题不在你身边。
该网址产生一个包含更多汽车链接的汽车页面。 看起来你开始使用的URL是旧的,或者有某种不明显的失效因素。
不知道你正在拍摄哪种过滤参数......很难说我还有什么不对,除了你的起始URL不好之外。
工作网址:
http://www.davesinclairlincolnstpeters.com/all-inventory/index.htm?listingConfigId=auto-new%2Cauto-used&compositeType=&year=&make=&start=0&sort=&facetbrowse=true&quick=true&preserveSelectsOnBack=true&searchLinkText=SEARCH&showInvTotals=false&showRadius=false&showReset=true&showSubmit=true&facetbrowseGridUnit=BLANK&showSelections=true&dependencies=model%3Amake%2Ccity%3Aprovince%2Ccity%3Astate&suppressAllConditions=false
链接地址: http://www.djcxy.com/p/48541.html