2013-02-24 4 views
1

Я пытаюсь разобрать фид XML с помощью PHP: http://trustbox.trustpilot.com/r/travelnation.co.uk.xmlискажен XML выход

Посещение этого, он выглядит совершенно нормально, но когда я пытаюсь

<?php 
$file = file_get_contents("http://trustbox.trustpilot.com/r/netamity.com.xml"); 
print_r($file); 
?> 

Я получаю

‹•SÁŽÓ0=/ÿ`ŒÄmœ- 븊àèJV«••L«ŽmÙN²ý{Æi·M 
... 

Как это искажается? Используя simplexml, он не проанализирует его (неудивительно). Я попытался настроить заголовки заголовков UTF-8, но я думаю, что проблема в get_file_contents. Есть идеи?

+0

Работает ли он с любым другим каналом XML? Это было бы первым делом, которое я проверил бы, чтобы посмотреть, в чем проблема. –

ответ

1

Содержимое выглядит «странным» просто потому, что кодирование сжато (см. HTTP-заголовок Content-Encoding: gzip).

HTTP/1.1 200 OK 
x-amz-id-2: 8wYarFnod0jtLJ3U8ZDN38102fjtG+EbwJjy0tY4YTZncrz9auEcQbzt1vyiSEhq 
x-amz-request-id: A60F1E6CA5437776 
Date: Sun, 24 Feb 2013 18:00:45 GMT 
Content-Encoding: gzip 
Last-Modified: Sun, 24 Feb 2013 05:19:11 GMT 
ETag: "64eaa6f87768aeb3ae6741ba06318cb6" 
Accept-Ranges: bytes 
Content-Type: application/xhtml+xml 
Content-Length: 52366 
Server: AmazonS3 

Я предполагаю, что вам нужно знать, как читать файл через HTTP; вы можете попробовать this one on SO.