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.