... Π±Π΅Π· ΠΏΠΎΠ±Π΅Π³Π° ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ
ΠΡΠΎ ΠΏΡΠ°Π²Π΄Π°?
ΠΠΎΠ΄ ΠΎΠΏΡΠΈΠ΅ΠΉ ΡΠΈΠΏΠ° --raw-payload
ΠΠ°, Π»ΡΠ±ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· STDIN
Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$ echo 'raw payload' | http httpbin.org/post
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, Π―ΠΊΡΠ±!
ΠΡΠΎΠΌΠ΅ --ignore-stdin
Π― Π½Π΅ Π²ΠΈΠΆΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ Π²Π½ΡΡΡΠΈ http --help
, ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ Π±ΡΡΡ Ρ
ΠΎΡΠΎΡΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠ΅ΠΊΡΡΡ ΡΠΏΡΠ°Π²ΠΊΠΈ? (ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°!)
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ http httpbin.org/post <<< 'raw payload'
ΠΠΎ,
$ echo 'running' | http -v put localhost:5000/state
ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Type: application/json
.
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
ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ JSON ΠΈ ΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ.
@furkanmustafa application/json
- ΡΡΠΎ ΡΠΈΠΏ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ httpie
.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΡΠ²ΠΎΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½:
$ echo 'running' |http httpbin.org/post Content-Type:text/plain
ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΡΠΆΠ°ΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ:
$ echo 'running' |gzip |http httpbin.org/post Content-Type:text/plain Content-Encoding:gzip
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
http httpbin.org/post <<< 'raw payload'
ΠΊΠ°Π·Π°Π»ΠΎΡΡ, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ PowerShell, Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π» 'rawBody' | http post :8080/api/events
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ°, Π»ΡΠ±ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π·
STDIN
Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:https://github.com/jakubroztocil/httpie#redirected -input