Envoi d'une requête POST avec netcat
J'ai trouvé ce petit script en PHP qui envoyer une simple demande à twitter pour mettre à jour votre statut, j'ai essayé ceci: http://pratham.name/twitter-php-script-without-curl.html, et il du travail. Maintenant, je veux envoyer cette demande avec netcat, mais cela ne fonctionne pas, pourquoi?
Je demande d'envoi de cette façon:
echo -e $head | nc twitter.com 80
$Tête ma tête que j'ai essayé aussi avec PHP, donc il a raison.
Ce que quelqu'un sait comment je peux faire cela? Merci à tous.
modifier.
head="POST http://twitter.com/statuses/update.json HTTP/1.1\r\n
Host: twitter.com\r\n
Authorization: Basic myname:passwordinbs64\r\n
Content-type: application/x-www-form-urlencoded\r\n
Content-length: 10\r\n
Connection: Close\r\n\r\n
status=mymessage";
echo -e $head | nc twitter.com 80
Nous ne sommes pas à l'esprit des lecteurs. Lien du script, et afficher le contenu de
Désolé, j'ai édité le message.
Merci, merci également de montrer comment vous êtes initialisation
Monsieur, je ne veux pas utiliser curl ou wget pour l'instant.
J'ai mis à jour ma réponse, il contient maintenant la solution
$head
.Désolé, j'ai édité le message.
Merci, merci également de montrer comment vous êtes initialisation
$head
. Aussi, si vous avez curl
ou wget
, qui va probablement être plus facile.Monsieur, je ne veux pas utiliser curl ou wget pour l'instant.
J'ai mis à jour ma réponse, il contient maintenant la solution
OriginalL'auteur fixo2020 | 2010-06-28
Vous devez vous connecter pour publier un commentaire.
Les données que vous envoyez n'est pas correct. Voici la commande que j'suis d'exécution:
Je suis à court d'un tcpdump en parallèle, et voici ce qu'il me montre:
Voyez-vous l'erreur? À chaque saut de ligne sont trois personnages, mais il devrait y avoir seulement deux. Cela se produit parce que vous avez un réel saut de ligne dans votre définition de la variable qui devient un espace dans le shell. E. g.
Essaie de l'écrire sur une seule ligne à la place.
Habituellement, lorsque vous envoyer des requêtes HTTP, la première ligne contient seulement URI pas l'URL complète, c'est sans doute dans la spec, mais je n'ai pas vérifier, de confirmer, de sorte qu'il devrait être
head="POST /statuses/update.json HTTP/1.1\r\n
Fait réellement sens, comme
http://
serait redondant, comme lors de l'exécution d'un HTTP POST, bien sûr, vous êtes en utilisant le protocole HTTP. Tout comme il est clair serveur sur lequel vous vous parlez comme vous parlez d'elle, dès maintenant et pour le distinguer de l'autre domaine, il est l'HÔTE champ d'en-tête. Donc merci, je vais mettre à jour ma réponse en conséquence. Mais le problème de l'utilisateur initial était vraiment dupliquer les sauts de ligne, cependant.OriginalL'auteur Mecki
Si vous ne mettez pas de guillemets autour de $"de tête", alors votre mise en forme ne sera pas comme vous (ou Twitter) s'y attendre. Aussi, depuis votre variable contient des retours à la ligne/retours à la ligne, il sera probablement aider à supprimer l'écho de la fourniture de ses propres.
OriginalL'auteur Dennis Williamson