Ottieni la dimensione della richiesta di arricciatura inviata


9

C'è un modo per ottenere la dimensione di una curlrichiesta a livello di codice?

Ad esempio, se lo faccio

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

Voglio sapere quanto è grande la mia richiesta inviata?


La dimensione della richiesta di intestazione?
Braiam,

@Braiam La dimensione della richiesta risultante (esclusi i livelli Ethernet / IP). Quindi intestazione + dati penso.
polimero

Risposte:


12

Ok, dopo aver man curlscavato, penso di aver scoperto la risposta, anche se non sono sicuro al 100% della sua 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.

Ciò significa che aggiungere un -w '%{size_request} %{size_upload}'e quindi aggiungere i numeri risultanti nell'output dopo la richiesta ti darà la dimensione della richiesta in totale.


1
Nota: questo non include l'overhead TLS se si utilizzano HTTPs.
dcoles
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.