在我的一个项目中,我需要从外部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的团队取得联系?