【问题标题】:Make a curl request to a url having no file extension?向没有文件扩展名的 url 发出 curl 请求?
【发布时间】:2012-08-31 15:28:56
【问题描述】:

我有以下网址

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, true); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); $response = curl_exec($ch);

【问题讨论】:

  • 实际上没有错误,只是没有传递所需的get参数,否则url通过浏览器工作正常
  • "但是每次我提出这个请求时它都会显示错误"
  • 如果它不起作用,则意味着存在某种错误。你怎么知道它没有传递必需的参数,如果有什么告诉你的,那就把它在你原来的帖子里说的完全贴上。
  • 对不起,这只是一个示例网址,实际网址是davesinclairstpeters.com/…
  • @user1217774 实际页面是错误页面...

标签: php curl


【解决方案1】:

该页面未提供任何说明信息未正确传递的信息。其实就是告诉你信息已经收到了——通过查看源码可以看到:

<!--
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);

【讨论】:

    【解决方案2】:

    您的代码完全没有问题,如果返回错误,只需将此 URL 粘贴到您的网络浏览器并检查结果。在这种情况下,网站只是由于某些原因而失败。您对此无能为力,因为问题不是在您身边。

    【讨论】:

      【解决方案3】:

      此 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
      

      【讨论】:

      • 哇.. 好吧,为什么这会出现在相关问题的提要顶部.. 就像 5 岁一样.. 谈论过去的爆炸......
      猜你喜欢
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多