cURL: plusieurs requêtes POST lors de la réutilisation de la connexion TCP


2

Si plusieurs URL sont transmises à cURL, la connexion TCP est réutilisée dans la mesure du possible.

Par exemple:

curl -o 1.jpg http://example.com/1.jpg -o 2.jpg http://example.com/2.jpg

Je dois faire la même chose, mais avec différentes requêtes de publication sur la même URL.

Je pensais que cela fonctionnerait peut-être:

curl -d "a=1" -o 1 http://example.com/script.php -d "a=2" -o 2 http://example.com/script.php

Mais au lieu de séparer les -darguments par requête, il les additionne simplement.

Existe-t-il un moyen de réaliser ce que je veux avec cURL?

Sinon, y a-t-il un autre outil susceptible d'être présent sur un système Linux (par exemple, Wget) qui peut faire ce qui précède?

Réponses:


2

Depuis curl 7.36.0, l' option de ligne de commande --nextou -:permet de délimiter les URL et leurs options associées. De la page de manuel curl :

Par exemple, vous pouvez effectuer à la fois une opération GET et une opération POST dans une seule ligne de commande:

curl www1.example.com --next -d postthis www2.example.com

Votre demande souhaitée pourrait être:

curl -d "a=1" -o 1 http://example.com/script.php --next -d "a=2" -o 2 http://example.com/script.php

1
Grand merci. L'article de blog pertinent qui mentionne le traitement des connexions persistantes.
Paul

3

La réponse de Daniel Stenberg, l'auteur de cURL:

Nous avons déjà discuté de l'ajout de cette capacité, mais nous ne l'avons pas encore fait.


Pourquoi avez-vous accepté cette réponse alors qu’elle ne répond clairement pas à la question? Aussi, où est la référence?
cnst

1
C'est la réponse: ce n'est pas possible. Ajout d'une référence.
Paul

1
Il est maintenant possible de curl 7.36.0. Voir ma propre réponse séparée.
Simon Pickup le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.