CURL ve PHP ile iTunes App Store XML alınıyor

2 Cevap php

Ben buldum ve modifiye bir komut dosyası kullanarak hafta geçmiş çift için iTunes App Store'dan bilgi ayıklamak edilmiştir. Ben hiçbir XML artık oluşturulan edildiğini fark edince her şeyin bir kaç gün öncesine kadar gayet iyi çalışıyordu. İşte XML oluşturur komut dosyası için kod:

<?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;
}
?>

Yani boşuna HttpHeader seçeneği ekledik, ama vurucu ben Terminali'ne gitmek ve bu tip zaman gayet iyi çalışıyor olmasıdır:

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'

Ben ihtiyacım XML döndüren, ama neden PHP komut dosyası çalışmaz?

Herhangi bir yardım için teşekkür ederiz!

2 Cevap

Benim için çalışıyor. Burada düşünmek için birkaç şey vardır:

  • Emin $GET['appID'] ayarlanmış mı? Belki komut POST aracılığıyla yürütülüyor?
  • ini_set('display_errors', false); dışında açıklama ve herhangi bir bilgi / uyarı / hata olup olmadığını görmek.
  • Komut kıvırmak komut satırı olarak aynı kutu üzerinde çalışıyor?

Sadece bir yan not olarak, bir https iTunes sayfaya erişmeye çalışıyorsanız, size aşağıdaki ayarlamanız gerekebilir:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);