comment envoyer une requête HTTP par la méthode GET en PHP sur un autre site
Je suis de développement d'une application web pour l'envoi de SMS vers les mobiles à partir du site web comme 160by2.
Je peux préparer l'URL requise pour la demande HTTP GET comme mentionné dans l'API fournie par la Passerelle SMS fournisseur de smslane.com, voici la lien pour l'API.
comment faire pour envoyer la requête HTTP de PHP?
J'ai utilisé cURL, mais la réponse n'est pas affiché. voici le code que j'ai utilisé,
<?php
$url="http://smslane.com/vendorsms/pushsms.aspx?user=abc&password=xyz&msisdn=919898123456&sid=WebSMS&msg=Test message from SMSLane&fl=0";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt( $ch, CURLOPT_URL, $url );
$content = curl_exec( $ch );
$response = curl_getinfo( $ch );
curl_close ( $ch );
echo $content;
?>
fsockopen()
n'a pas été utilisé car le port numéro inconnu, posté le soutien de l'équipe pour le numéro de port. (si aucun code pour fsockopen grâce à la méthode GET est invité :). )
existe-il d'autres méthodes pour faire cela?
toute aide est la bienvenue.
Merci à l'avance.
MODIFIER
Pouvait-on me dire est-il un autre moyen d'envoyer cette Requête HTTP à l'exception cURL et, si possible, donner le code pour que.
Je vous pose cette question parce que l'actuel cURL code prendre trop de temps pour l'exécution et échoue au bout de 60 secondes, j'ai augmenté max_execution_time à 120 en php.ini sur mon système local, même si ce n'est pas bon pour moi 🙁 .
je pourrais accepter des réponses, si j'ai eu 🙂
mise à jour de la question, veuillez vérifier. ici, je fournis le mannequin de détails, mais pour les détails, je peux envoyer des SMS à partir du panneau de contrôle du site web donné.
Je suis assez sûr que j'ai trouvé votre problème, donc j'ai retravaillé ma réponse.
La Tour de la réponse peut être utilisée pour tenter de réduire le temps d'exécution, mais il est presque certainement pas votre problème va être le serveur distant. Jeter ensemble certains curl code que les requêtes de votre localhost et vous devriez voir que c'est instantané. Peut-être que le serveur vous interrogez n'est pas que rapide
OriginalL'auteur srinivas | 2010-08-20
Vous devez vous connecter pour publier un commentaire.
Votre problème est la façon dont vous êtes en train de construire l'URL. Les espaces qui vous sont compris dans la chaîne de requête entraînera une demande mal formulée URL envoyé.
Voici un exemple qui réplique les circonstances de votre situation:
request.php:
response.php:
La sortie de request.php est:
La raison pour cela est la chaîne de requête n'est pas codé correctement et le serveur de l'interprétation de la demande suppose l'URL se termine à la première place, ce qui dans ce cas est dans le milieu de la requête:
foo=yes we can&baz=foo bar
.Vous avez besoin pour construire votre URL à l'aide de http_build_query, qui prendra en charge de l'encodage de votre chaîne de requête correctement, et généralement, rend le code beaucoup plus lisible:
Vous devez également définir CURLOPT_RETURNTRANSFER:
pourriez vous s'il vous plaît cochez la case modifier de ma question. s'il vous plaît..
merci pour cette aide. Je suis de l'acceptation de cette réponse, car il a résolu mon problème 🙂 cheers.
OriginalL'auteur Shabbyrobe
OriginalL'auteur rook
Le code ci-dessous va faire une requête HTTP avec curl et renvoyer la réponse dans
$content
.OriginalL'auteur Yogesh V Patil
rien de mal avec votre code que je peux voir tout de suite. avez-vous essayé de coller l'url dans un navigateur de sorte que vous pouvez voir la réponse? vous pourriez même utiliser wget pour télécharger la réponse à un fichier. Je suppose que si vous voulez essayer fsocket que vous pouvez utiliser le port 80 comme c'est le port http par défaut.
ensuite, vous ne pouvez pas faire le codage d'url. également définir returntransfer de vrai.
OriginalL'auteur Al W
Essayer à l'aide de code suivant.
assurez-vous que vous avez chargé HttpRequest extension (part object0 dans votre serveur.
comment charger la HTTPRequest extension sur mon système/serveur ? j'ai essayé cette méthode mais, compte tenu de l'erreur pour l'extension n'est pas chargé. je ne pouvais pas comprendre comment installer cette extension.
OriginalL'auteur Jitendra Sanghani