使用CURL抓取时添加到XML的附加字符

时间:2012-07-05 07:27:28

标签: php xml xmlreader

我正在使用PHP中的CURL从URL中获取一些XML

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$base_xml = curl_exec($ch); 
curl_close($ch);

当我在浏览器中查看链接时,XML显示正常且有效。但是,当我查看CURL的源代码($ base_xml)时,它不是有效的XML,因为在XML的末尾添加了一个额外的“1”字符,所以我得到了一个

Extra content at the end of the document in 
尝试使用PHP XMLReader解析XML时出现

错误

为什么会这样,我该如何解决这个问题?

提前致谢

2 个答案:

答案 0 :(得分:2)

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//what you need to add.
$base_xml = curl_exec($ch); 
curl_close($ch);

答案 1 :(得分:0)

我有一个类似的问题,我可以通过设置以下选项来解决:

curl_setopt($ch, CURLOPT_SSLVERSION, 3);