Не удается получить вывод XML через cURL - PullRequest
1 голос
/ 30 июня 2011

Я использую PHP cURL для получения вывода XML с URL. Вот как выглядит мой код:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://www.mydomain.com?querystring'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
$store = curl_exec($ch);
echo $store;
curl_close($ch);

Но вместо возврата XML он просто показывает мою страницу с ошибкой 404. Если я наберу в браузере URL http://www.mydomain.com? Querystring , я смогу увидеть XML в браузере.

Что мне здесь не хватает? (

Спасибо.

1 Ответ

2 голосов
/ 30 июня 2011

Некоторые владельцы веб-сайтов проверяют наличие определенных вещей, чтобы убедиться, что запрос поступает от веб-браузера, а не от бота (или cURL). Вы должны попробовать добавить curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)'); и посмотреть, решит ли это проблему. Это отправит строку агента пользователя. Сайт также может проверять наличие файлов cookie или других вещей.

Для вывода XML на веб-странице вам необходимо использовать htmlentities(). Возможно, вы захотите обернуть его и в элемент HTML <pre>.

...