Simple requête GET avec PHP cURL pour envoyer un message SMS
Je suis la création rapide de pages web application qui a besoin d'envoyer un php-créé le message dans le code php. cURL est apparemment l'outil pour le travail, mais je vais avoir de la difficulté à comprendre, il suffit de le faire fonctionner.
La documentation de l'API, je suis confronté à est ici. En particulier, je tiens à utiliser le GET simple à base de sms de notification documenté ici. La dernière ressource des états que le GET API est tout simplement:
http://sms2.cdyne.com/sms.svc/SimpleSMSsend?PhoneNumber={PHONENUMBER}&Message={MESSAGE}&LicenseKey={LICENSEKEY}
Et en effet, si je tape l'URL suivante dans un navigateur, j'obtiens les résultats attendus:
http://sms2.cdyne.com/sms.svc/SimpleSMSsend?PhoneNumber=15362364325&Message=mymessage&LicenseKey=2134234882347139482314987123487
Je suis maintenant essayer de créer le même effet dans php. Voici ma tentative:
<html>
<body>
<?php
$num = '13634859126';
$message = 'some swanky test message';
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, "http://sms2.cdyne.com/sms.svc/SimpleSMSsend?PhoneNumber=".urlencode($num)."&Message=".urlencode($message)."&LicenseKey=2345987342583745349872");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
?>
</body>
</html>
Mon PHP pages web fonctionnent très bien, donc je sais que php et apache sont tous mis en place correctement. Mais Quand je pointe mon navigateur à la page mentionnée ci-dessus, je n'ai pas de message sur mon téléphone. Quelqu'un peut-il me montrer ce que je fais mal?
Remarque: tous les chiffres sont truqués... comme vous pouvez l'imaginer.
Avez-vous essayé de brancher d'URI dans un navigateur web pour voir si il fonctionne de cette façon en premier?
Berryman :qu'est-ce que la réponse que vous avez reçu ?
Rien n'est apparu sur l'écran. Si vous cochez la case ci-dessous (PurplePilot), j'ai ajouté une sortie d'impression de déclaration et rien n'a été envoyée à l'écran. J'ai aussi commenté le "retour" de la ligne mentionnée dans le courriel et rien n'a été renvoyé. En toutes choses, supposons que l'ignorance de ma part.
Berryman - avez-vous besoin pour afficher la source de la page, afin de vérifier la réponse XML?
OriginalL'auteur JnBrymn | 2010-11-15
Vous devez vous connecter pour publier un commentaire.
Avez-vous vraiment besoin CURL? Il vous suffit d'utiliser PHP
file_get_contents($url)
, qui fera une requête GET et sera de retour valeur de la réponse.OriginalL'auteur Rytis
Si il n'y a pas de retour de sortie, probablement le cURL échoue.
Vérifier le code d'erreur de la ressource retournée pour déterminer la cause de l'erreur.
La liste des codes d'erreur: libcurl-erreurs
Je vous conseille d'utiliser cURL paramètres de délai d'attente trop:
OriginalL'auteur PazsitZ
En supposant que vous êtes formant l'URL correctement et qu'un commentaire dit le vérifier manuellement dans un navigateur, je ne suis pas sûr de l'endroit où vos données quand il revient donc, essayez
D'autres choses à essayer sont
Pas de sortie sur l'écran, pas de message sur mon téléphone. Est-il possible que quelque chose est incorrect avec mon code ci-dessus? Je ne comprends vraiment pas PHP assez à ce stade, de savoir à quoi s'attendre.
OriginalL'auteur PurplePilot
Juste remplacer
PhoneNumber=$num
curl_setopt($ch, CURLOPT_URL, "http://sms2.cdyne.com/sms.svc/SimpleSMSsend?PhoneNumber=".urlencode($num)."&Message=".urlencode($message)."&LicenseKey=2345987342583745349872");
OriginalL'auteur Md Majadul Islam