我试图从curl的xml.gz文件中获取数据。我可以下载该文件,但无法获得可用的XML。当我尝试打印的XML,我得到的乱码特殊字符,如一个长长的清单:使用curl获取gzipped XML文件的问题PHP
‹ì½ûrâÈ–7ú?E~{Çž¨Ši°î—Ù5=ÁÍ6]`Ø€ë²ãDLÈ u
有没有一种简单的方法,只是解压缩和编码这种XML?可能通过SimpleXML?文件很大,并且需要认证。这是我现在的代码:
$username='username';
$password='password';
$location='http://www.example.com/file.xml.gz';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$location);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_USERPWD,"$username:$password");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HEADER, 0);
$xmlcontent = curl_exec ($ch);
curl_close($ch);
print_r($xmlcontent);
感谢您的帮助!
小心:gzip是_not_ zip,所以“unzip”是错误的方法... – arkascha
谢谢。我在解释中的错误。现在更正。 – David
那么反对使用现有的PHP函数解压它呢?无论是'gzdecode'(http://www.php.net/manual/de/function.gzdecode.php)还是'gzuncompress',取决于结果的实际编码方式。 – arkascha