首页 文章

对没有文件扩展名的网址发出curl请求?

提问于
浏览
0

我有以下网址

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

3 回答

  • 2

    该页面没有正确传递 . 事实上,它告诉您信息已经收到 - 通过查看来源,您可以看到:

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

    你的代码是完全正常的,如果你有什么事情可以解决这个问题,那么问题就在你身边 .

  • 0

    此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
    

相关问题