... sans évasion et autre magie
Est ce que c'est vraiment?
Sous l'option comme --raw-payload
Oui, toutes les données transmises via STDIN
seront envoyées en tant que corps de la requête, par exemple:
$ echo 'raw payload' | http httpbin.org/post
Merci Jakub!
À part --ignore-stdin
Je ne vois aucune mention de cela à l'intérieur de http --help
, est-ce que cela pourrait être un bon ajout au texte d'aide? (Aussi, travail génial à ce sujet!)
Vous pouvez également utiliser http httpbin.org/post <<< 'raw payload'
Mais,
$ echo 'running' | http -v put localhost:5000/state
envoie Content-Type: application/json
tête
PUT /state HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 8
Content-Type: application/json
Host: localhost:5000
User-Agent: HTTPie/0.9.9
running
et une implémentation appropriée du côté récepteur essaie bien sûr d'analyser cela en tant que JSON, et échoue.
@furkanmustafa application/json
est le type de contenu par défaut utilisé par httpie
.
Si vous indiquez explicitement le type de contenu dans votre demande, il sera résolu:
$ echo 'running' |http httpbin.org/post Content-Type:text/plain
ou même avec l'envoi de contenu compressé:
$ echo 'running' |gzip |http httpbin.org/post Content-Type:text/plain Content-Encoding:gzip
Vous pouvez également utiliser
http httpbin.org/post <<< 'raw payload'
semblait ne pas fonctionner avec PowerShell, 'rawBody' | http post :8080/api/events
fonctionné pour moi
Commentaire le plus utile
Oui, toutes les données transmises via
STDIN
seront envoyées en tant que corps de la requête, par exemple:https://github.com/jakubroztocil/httpie#redirected -input