向没有文件扩展名的 url 发出 curl 请求


Make a curl request to a url having no file extension?

我有以下网址

http://www.davesinclairstpeters.com/auto2_inventorylist?i=37647&c=12452&npg=1&ns=50&echo=2

我想使用 curl 检索此 url 的内容,但每次我发出此请求时,它都会向我显示错误,因为它没有传递所需的参数

下面是我的代码

   $ch = curl_init((;启动卷曲    curl_setopt($ch, CURLOPT_URL, $json_url(;    curl_setopt($ch,CURLOPT_RETURNTRANSFER,真(;    curl_setopt($ch,CURLOPT_HTTPGET,真(;    curl_setopt($ch,CURLOPT_FRESH_CONNECT,真(;         $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
-->

这告诉您信息实际上已被收到。

因此,您的代码没有问题,但网站本身。您应该确保您使用的 URL 有效,或联系该网站以获取更多信息。

关于代码本身 - 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 粘贴到您的 Web 浏览器并检查结果即可。在这种情况下,由于某些原因,网站只是失败了。你对此无能为力,因为问题不在你这边。

此 URL 生成一个包含指向更多汽车的链接的汽车页面。 看起来您开始使用的 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