2012-03-22 3 views
1

Существует сайт, shop.test.com.au (не настоящее имя)Как загрузить файл XML с удаленного сайта

когда-либо я пытался взять на сайт через HTTP://shop.test.com.au/, она изменится на shop.test.com.au в браузере

Они обеспечивая связь XML-страницы на этом сайте

Мне нужно получить доступ к этому XML с моей страницы php

Ниже мой код

$doc = new DOMDocument(); 
$doc->load('shop.test.com.au/1.xml'); 

Затем он возвращает ошибку «не удалось открыть поток: Нет такого файла или каталога», может быть это проверка в моем местном machine.So я изменил код в

$doc = new DOMDocument(); 
$doc->load('http://shop.test.com.au/1.xml'); 

Тогда я получает ошибку "не удалось открыть поток: HTTP запрос не удалось! "

Как я могу решить

ответ

2

оптимальным будет использовать CURL, убедитесь, что вы установили CURL, а затем использовать этот

$curl = curl_init(); 

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_URL, "http://shop.test.com.au/1.xml"); 

$xml = curl_exec($curl); 

curl_close($curl); 

и там вы идете - $ XML должны быть имея данные вы хотите.

+0

спасибо Nahian Khondoker – Linto

0

Try:.

$f = file_get_contents("http://shop.test.com.au/1.xml"); 

Тогда, по крайней мере, это должно дать вам код статуса HTTP ошибки

После того как вы получить XML (надеюсь, разрешив ошибку), используйте:

$doc->loadXML($f); 

Yo u может обнаружить, что сайт блокирует запросы без указанного Пользовательского агента (я знаю, что мой сайт делает), поэтому вам может потребоваться использовать функции cURL или Socket для передачи Пользовательского агента.

+0

file_get_contents ("http://shop.test.com.au/1.xml") также вызывает ошибку – Linto

+0

Да, но какая ошибка? –

+0

не удалось открыть поток: HTTP-запрос не удался! – Linto

Смежные вопросы