2009-10-03 8 views
1

Je ne connais pas bien les requêtes HTTP. Comment puis-je, en utilisant PHP, saisir et analyser les informations de cette page XML, en utilisant une requête HTTP GET?HTTP_Request en utilisant cURL ou Pear (PHP) sur XML Page

http://heywatch.com/encoded_video/1850189.xml

Fondamentalement, ceci est une vidéo qui a été codé, et je suis en train de tirer certaines des valeurs de la vidéo récemment codées. Plus précisément, j'essaie de tirer la longueur de la vidéo, afin que je puisse l'ajouter à mon db.

Je suis actuellement en utilisant:

require_once "HTTP/Request.php"; 

$req =& new HTTP_Request("http://heywatch.com/encoded_video/1850189.xml"); 
$req->setBasicAuth("myusername", "mypassword"); 
$req->setMethod(HTTP_REQUEST_METHOD_GET); 
$req->clearPostData(); 
if (!PEAR::isError($req->sendRequest())) { 
$response2 = $req->getResponseBody(); 
} else { 
    $response2 = ""; 
} 

echo $response1; 
echo $response2; 

Mais, je ne sais pas comment j'analyser chaque information. Les informations de requête HTTP GET peuvent être trouvées here, mais elles ne fournissent aucun exemple.

Un coup de pouce dans la bonne direction sur la façon de le faire (en utilisant PEAR ou cURL, quoi de plus efficace) serait apprécié.

Merci!

Répondre

1

Vous pouvez faire une demande en boucle en utilisant le code suivant

$url = "http://heywatch.com/encoded_video/1850189.xml"; 

$request = curl_init(); 
curl_setopt($request,CURLOPT_URL,$url); 
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1); 
$response = curl_exec($request); 
curl_close($request); 

Le texte sera alors tenue en réponse $. Je recommande d'utiliser simple XML pour analyser le document XML afin de sélectionner les informations dont vous avez besoin. C'est très facile à utiliser. Si vous ne voulez pas utiliser curl du tout, et vous n'avez pas à le faire, vous pouvez charger le document directement avec SimpleXML en utilisant simplexml_load_file, et en passant l'URL.

+0

Merci pour la réponse, Kibbee. En utilisant simplexml_load_file, (qui fonctionne bien), je suis capable d'analyser les aspects de base, par exemple, en utilisant "echo $ xml-> id [0];" fonctionne très bien dans l'analyse de l'ID. Cependant, la longueur de la vidéo est dans un tableau (en utilisant des attributs?), Et ressemble à: [video] => Object SimpleXMLElement ([@attributes] => Tableau ([bitrate] => 800 [width] => 640 [fps ] => 0.0 [codec] => h264 [longueur] => 34 [hauteur] => 480 [conteneur] => flv [flux] => 0.0 [aspect] => 1.33)) Comment puis-je analyser la 'longueur' de cela? – Dodinas

+0

Peu importe, je cherchais ceci: echo $ xml-> specs [0] -> video [0] -> attributes() -> length; Merci encore! – Dodinas

Questions connexes