Php 为什么curl_exec()从一个URL返回部分HTML,而在其他URL返回完整(如预期的)HTML?

Php 为什么curl_exec()从一个URL返回部分HTML,而在其他URL返回完整(如预期的)HTML?,php,Php,使用$url的两个值比较以下两段代码: (一) (二) 1按预期返回完整的HTML。2只返回一行HTML。访问第二个页面可以确认实际上还有更多的HTML 为什么?? 我刚试过这个 我得到了同样的结果。这可能是因为Curl查找标题的方式。标题通常由4行新行与主要内容分开 如果你看第二个URL的内容,你会发现在这行的周围有很多空白,这是非常奇妙的: <!--jsp:setProperty name="mapg" property="projection" value="init"/-->

使用$url的两个值比较以下两段代码:

(一)

(二)

1按预期返回完整的HTML。2只返回一行HTML。访问第二个页面可以确认实际上还有更多的HTML

为什么?? 我刚试过这个

我得到了同样的结果。这可能是因为Curl查找标题的方式。标题通常由4行新行与主要内容分开

如果你看第二个URL的内容,你会发现在这行的周围有很多空白,这是非常奇妙的:

 <!--jsp:setProperty name="mapg" property="projection" value="init"/-->

Curl可能会对什么是身体和什么是头部感到困惑

我建议您使用一些不同的选项来查看Curl实际上是什么
返回,尝试
CURLOPT\u HEADER


你错过了什么?在第二个url中,如果我是对的,我会看到很多JS生成的html块。这一行html是什么样子的?在查看了标题后,我发现了这些区别:url 1:Transfer Encoding:chunked Set Cookie:JSSessionId=6FE45F199936F288EA3F75D97B0D4970;Path=/由ChinaCache支持:CMN-NJ-2-35e交换机未命中:FSCS======================================================================带有URL 2:内容长度:136年龄:由ChinaCache支持:5716从CMN-NJ-2-35c交换机命中:FSCS他们都返回了HTTP/1.1 200 OK这没有多大帮助。嗯。你有没有试过
文件获取内容()
-我知道这不是一个理想的解决方案-但它可能会让你有所收获
$url = 'http://www.localharvest.org/caledonia-farm-M136';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo htmlspecialchars(curl_exec($ch));
 <!--jsp:setProperty name="mapg" property="projection" value="init"/-->