Como exemplo, POSTing para um servidor da web com o argumento -v:
curl -v http://testserver.com/post -d "firstname=john&lastname=doe"
E a saída
> POST /post HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
> Host: testserver.com
> Accept: */*
> Content-Length: 28
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 200 OK
(etc)
Não há menção dos dados que publiquei.
Existe uma opção no cURL para exibir a string "firstname = john & lastname = doe" na saída?
Nota: Obviamente, a string que eu quero está no comando que eu executei, mas existem várias outras opções de postagem, como --form e --data-ascii etc. Gostaria de ver os dados brutos sendo enviados para o servidor.
Respostas:
O mais próximo que cheguei sem usar
tcpdump
está usando a--trace-ascii
opção:Infelizmente, isso não funciona quando você está postando
multipart/form-data
:fonte
-v
ou--verbose
como eles substituem a diretiva de rastreamento.--trace-ascii
funcionou para mim no OS X 10.8.5 Mountain Lion. Eu tenho carregado uma entidade formulário de várias com duas imagens e um corpo json e tudo funcionou como esperado--trace-ascii /dev/stdout
você puder--trace-ascii -
(traço)Ou você pode testar com https://httpbin.org/
fonte
Gostaria de adicionar a alternativa netcat
fonte
Você poderia usar Charles e
curl --proxy localhost:8888
. Simples!fonte
https
não era um requisito na pergunta: p