Obtenir la taille de la demande de boucle envoyée

9

Existe-t-il un moyen d'obtenir la taille d'une curldemande par programme?

Par exemple, si je le fais

curl 'http://www.example.com/url' \
-H 'Cookie: cookie=cookiedata;' \
-H 'X-CSRFToken: csrffake' \
--data 'example=moredata \
--compressed

Je veux savoir quelle est la taille de ma demande envoyée?

polym
la source
La taille de la demande d'en-tête?
Braiam
@Braiam La taille de la requête résultante (à l'exclusion des couches Ethernet / IP). Donc, en-tête + données, je pense.
polym

Réponses:

12

Ok après avoir man curlcreusé, je pense avoir trouvé la réponse, bien que je ne sois pas sûr à 100% de sa validité:

 -w, --write-out <format>
     Defines  what  to display on stdout after a completed and successful operation.
     [...]
     The variables present in the output format will be substituted by the
     value or text  that  curl thinks fit, as described below.
     All variables are specified as %{variable_name} and to output a
     normal % you just write them as %%.

     [...]
          size_request   The total amount of bytes
                         that were sent in the HTTP request.

          size_upload    The total amount of bytes that were uploaded.

Cela signifie ajouter un -w '%{size_request} %{size_upload}', puis ajouter les nombres résultants dans la sortie après que la demande vous donnera la taille de la demande au total.

polym
la source
1
Remarque: cela n'inclut pas la surcharge TLS si vous utilisez HTTP.
dcoles