Obter tamanho da solicitação de ondulação enviada

9

Existe uma maneira de obter o tamanho de uma curlsolicitação programaticamente?

Por exemplo, se eu fizer

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

Quero saber qual o tamanho da minha solicitação enviada?

polym
fonte
O tamanho da solicitação do cabeçalho?
Braiam 17/08/14
@Braiam O tamanho da solicitação resultante (excluindo as camadas Ethernet / IP). Então cabeçalho + dados, eu acho.
Polym

Respostas:

12

Ok, depois de algumas man curlescavações, acho que encontrei a resposta, embora não tenha 100% de certeza sobre sua validade:

 -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.

Isso significa adicionar um -w '%{size_request} %{size_upload}'e, em seguida, adicionar os números resultantes na saída após a solicitação, fornecerá o tamanho total da solicitação.

polym
fonte
1
Nota: Isso não inclui a sobrecarga do TLS, caso você esteja usando HTTPs.
dcoles 13/04