代码之家  ›  专栏  ›  技术社区  ›  asprin

卷曲响应与在浏览器中打开时不同

  •  0
  • asprin  · 技术社区  · 7 年前

    在我的一个项目中,我需要从外部URL获取页眉/页脚内容。其中一个URL(假设是 https://example.com/header )行为异常,返回的内容与预期不符。

    例如,如果我在浏览器中打开上述URL,源代码会显示(PS:这没有任何html、head和body标记,这是应该的):

    <ul>
       <li>Item 1</li>
       <li>Item 2</li>
       <li>Item 3</li>
       <li>Item 4</li>
       <li>Item 5</li>
    </ul>
    

    但是,当我通过cURL调用同一个URL时,响应变成:

    <ul>
       <li>Item 25</li>
       <li>Item 100</li>
    </ul>
    

    我使用的代码是:

    $c = curl_init($url);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($c,CURLOPT_SSL_VERIFYHOST,0); // $url is https, so had to use this
    curl_setopt($c,CURLOPT_SSL_VERIFYPEER,0); // $url is https, so had to use this
    curl_setopt($c, CURLOPT_HEADER, 0);
    curl_setopt($c, CURLOPT_VERBOSE, 0);
    
    $user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0'
    curl_setopt ($c, CURLOPT_USERAGENT, $user_agent); // this line was originally not being used, but I tried adding this to see if it helps - but it did not
    
    $html = curl_exec($c);
    
    if (curl_error($c))
        die(curl_error($c));
    
    // Get the status code
    $status = curl_getinfo($c, CURLINFO_HTTP_CODE);
    curl_close($c);
    
    return $html;
    

    我不确定的是,这是不是可以在我这边解决的问题,或者我应该与管理这些URL的团队取得联系?

    0 回复  |  直到 7 年前
    推荐文章