Получение iTunes App Store XML с помощью cURL и PHP

Я извлекал информацию из iTunes App Store последние пару недель, используя сценарий, который я нашел и изменил. Все работало нормально, пока пару дней назад, когда я понял, что XML больше не генерируется. Вот код сценария, который генерирует XML:

<?php header("Content-type: text/plain"); ini_set('display_errors', false); if(isset($_GET['appID'])) { $appID = (int)stripslashes($_GET['appID']); $url = "http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=" . $appID . "&mt=8"; $useragent = "iTunes/9.0.2 (Macintosh; Intel Mac OS X 10.5.8) AppleWebKit/531.21.8"; $header = array("X-Apple-Store-Front: 143441-1"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); $result = curl_exec($ch); curl_close($ch); echo $result; } ?> 

Поэтому я добавил параметр HTTPHEADER безрезультатно, но кикер – это то, что он отлично работает, когда я перехожу на терминал и набираю это:

 curl -s -A "iTunes/9.0.2 (Macintosh; Intel Mac OS X 10.5.8) AppleWebKit/531.21.8" -H "X-Apple-Store-Front: 143441-1" 'http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=339038562&mt=8' 

Он возвращает XML, который мне нужен, но почему скрипт PHP не работает?

Цените любую помощь!

Прекрасно работает для меня. Вот несколько вещей, о которых нужно подумать:

  • Вы уверены, что установлен параметр $GET['appID'] ? Возможно, сценарий запускается через POST?
  • Комментарий ini_set('display_errors', false); и посмотрите, появляются ли какие-либо уведомления / предупреждения / ошибки.
  • Является ли сценарий запущенным в том же поле, что и в командной строке curl?

Как примечание, если вы пытаетесь открыть страницу https iTunes, вам может потребоваться установить следующее:

 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);