Php Curl birden çok istek sorunu

2 Cevap php

Ben php ile kıvırmak lib kullanırken sorun yaşıyorum. Ne başarmak istiyorum xml çekerek birden çok istek iki farklı url curl ile denir ki döndü yapmaktır. İşte kod:

$BROWSER="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 YFF3 Firefox/3.0.1";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.wowarmory.com/character-sheet.xml?r=Crushridge&n=Thief");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

curl_setopt($ch, CURLOPT_USERAGENT, $BROWSER);


$result20 = curl_exec($ch);

curl_close ($ch);

/**

I extract the values out of the xml here

**/

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.wowarmory.com/character-sheet.xml?r=Ursin&n=Kiona");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

curl_setopt($ch, CURLOPT_USERAGENT, $BROWSER);


$result20 = curl_exec($ch);

curl_close ($ch);

/**

I extract the values out of the xml here
**/

Ben ilk çağrı yaptığınızda ben değerlerini ayıklamak, ama ben ikinci bir arama yaptığınızda değerlerini ayıklamak ama onlar ilk aramanın değerleridir.

2 Cevap

Bu kod çalışıyor, iki farklı sayfaları döndürür. Sizin çıkarma belirttiğiniz gibi birbiri ardına değil iki görüşme sonrasında gerçekleşir ve mümkün mü? Eğer öyleyse iki $ result20 olarak kullanmak, sonra da maç olacaktır.

Eğer tarayıcınızda doğrudan bu URL'leri yüklerseniz, farklı sayfaları (onlar benim için ne) dönüş yok.

Kod çok, benim için çalışıyor. Justin önerisi olarak, muhtemelen çıkarılan verileri üzerine yazıyorsanız.

Ben az gereksiz kod önerebilir miyim? Örneğin:

$urls = array('http://www.wowarmory.com/character-sheet.xml?r=Crushridge&n=Thief',
              'http://www.wowarmory.com/character-sheet.xml?r=Ursin&n=Kiona');
$browser = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 YFF3 Firefox/3.0.1';

$ch  = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $browser);

foreach ($urls as $url) {
    curl_setopt($ch, CURLOPT_URL, $url);
    $result20 = curl_exec($ch);
    // Extract the values out of the xml here (to separate variables).
}
curl_close($ch);