2010-11-16 5 views
1

J'utilise la commande suivante dans quelques anciens scripts:boucle CLI PHP gondoler

curl -Lk "https:www.example.com/stuff/api.php?" 

Je puis enregistrer l'en-tête dans une variable et de faire des comparaisons et ainsi de suite. Ce que je voudrais vraiment faire est de convertir le processus en PHP. J'ai permis curl, openssl, et crois que j'ai tout prêt.

Ce que je n'arrive pas à trouver est une traduction pratique pour convertir cette syntaxe en ligne de commande aux commandes équivalentes en PHP.

Je soupçonne que quelque chose dans l'ordre de:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 

// What goes here so that I just get the Location and nothing else? 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

// Get the response and close the channel. 
$response = curl_exec($ch); 
curl_close($ch); 

Le but étant $ response = les données de l'api « OK = 1 & ect »

Merci

Répondre

2

Je suis un peu confus par votre commentaire:

// What goes here so that I just get the Location and nothing else? 

De toute façon, si vous voulez obtenir le corps de la réponse du serveur distant, utilisez:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$response = curl_exec($ch); 

Si vous souhaitez obtenir les en-têtes dans la réponse (à savoir: ce commentaire pourrait faire référence à):

curl_setopt($ch, CURLOPT_HEADER, 1); 

Si votre problème est qu'il ya une redirection entre l'appel initial et la réponse, utilisez:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
+0

J'ai essayé: curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); – Scott

+0

Cependant, $ response = 1 quand je lui fais écho. – Scott

+0

Est-ce que $ response === true? Quelle est la sortie de 'var_dump ($ response)'? – netcoder