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?

Paul
la source

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
Simon Pickup
la source
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.

Paul
la source
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