forked from extern/httpie-cli
Update examples
This commit is contained in:
parent
7340b2b64d
commit
c73858b9c3
100
README.rst
100
README.rst
@ -195,21 +195,21 @@ Custom `HTTP method`_, `HTTP headers`_ and `JSON`_ data:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http PUT example.org X-API-Token:123 name=John
|
$ http PUT httpbin.org/put X-API-Token:123 name=John
|
||||||
|
|
||||||
|
|
||||||
Submitting `forms`_:
|
Submitting `forms`_:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http -f POST example.org hello=World
|
$ http -f POST httpbin.org/post hello=World
|
||||||
|
|
||||||
|
|
||||||
See the request that is being sent using one of the `output options`_:
|
See the request that is being sent using one of the `output options`_:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http -v example.org
|
$ http -v httpbin.org/get
|
||||||
|
|
||||||
|
|
||||||
Use `Github API`_ to post a comment on an
|
Use `Github API`_ to post a comment on an
|
||||||
@ -225,21 +225,21 @@ Upload a file using `redirected input`_:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.org < file.json
|
$ http httpbin.org/post < file.json
|
||||||
|
|
||||||
|
|
||||||
Download a file and save it via `redirected output`_:
|
Download a file and save it via `redirected output`_:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.org/file > file
|
$ http httpbin.org/image/png > image.png
|
||||||
|
|
||||||
|
|
||||||
Download a file ``wget`` style:
|
Download a file ``wget`` style:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --download example.org/file
|
$ http --download httpbin.org/image/png
|
||||||
|
|
||||||
Use named `sessions`_ to make certain aspects or the communication persistent
|
Use named `sessions`_ to make certain aspects or the communication persistent
|
||||||
between requests to the same host:
|
between requests to the same host:
|
||||||
@ -267,14 +267,14 @@ The name of the HTTP method comes right before the URL argument:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http DELETE example.org/todos/7
|
$ http DELETE httpbin.org/delete
|
||||||
|
|
||||||
|
|
||||||
Which looks similar to the actual ``Request-Line`` that is sent:
|
Which looks similar to the actual ``Request-Line`` that is sent:
|
||||||
|
|
||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
DELETE /todos/7 HTTP/1.1
|
DELETE /delete HTTP/1.1
|
||||||
|
|
||||||
|
|
||||||
When the ``METHOD`` argument is omitted from the command, HTTPie defaults to
|
When the ``METHOD`` argument is omitted from the command, HTTPie defaults to
|
||||||
@ -464,7 +464,7 @@ Simple example:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http PUT example.org name=John email=john@example.org
|
$ http PUT httpbin.org/put name=John email=john@example.org
|
||||||
|
|
||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
@ -472,7 +472,7 @@ Simple example:
|
|||||||
Accept: application/json, */*
|
Accept: application/json, */*
|
||||||
Accept-Encoding: gzip, deflate
|
Accept-Encoding: gzip, deflate
|
||||||
Content-Type: application/json
|
Content-Type: application/json
|
||||||
Host: example.org
|
Host: httpbin.org
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "John",
|
"name": "John",
|
||||||
@ -515,7 +515,7 @@ fields using ``=@`` and ``:=@``:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http PUT api.example.com/person/1 \
|
$ http PUT httpbin.org/put \
|
||||||
name=John \
|
name=John \
|
||||||
age:=29 married:=false hobbies:='["http", "pies"]' \ # Raw JSON
|
age:=29 married:=false hobbies:='["http", "pies"]' \ # Raw JSON
|
||||||
description=@about-john.txt \ # Embed text file
|
description=@about-john.txt \ # Embed text file
|
||||||
@ -527,7 +527,7 @@ fields using ``=@`` and ``:=@``:
|
|||||||
PUT /person/1 HTTP/1.1
|
PUT /person/1 HTTP/1.1
|
||||||
Accept: application/json, */*
|
Accept: application/json, */*
|
||||||
Content-Type: application/json
|
Content-Type: application/json
|
||||||
Host: api.example.com
|
Host: httpbin.org
|
||||||
|
|
||||||
{
|
{
|
||||||
"age": 29,
|
"age": 29,
|
||||||
@ -549,7 +549,7 @@ complex data. In that case it's always better to use `redirected input`_:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http POST api.example.com/person/1 < person.json
|
$ http POST httpbin.org/post < data.json
|
||||||
|
|
||||||
|
|
||||||
Forms
|
Forms
|
||||||
@ -568,12 +568,12 @@ Regular forms
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --form POST api.example.org/person/1 name='John Smith'
|
$ http --form POST httpbin.org/post name='John Smith'
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
POST /person/1 HTTP/1.1
|
POST /post HTTP/1.1
|
||||||
Content-Type: application/x-www-form-urlencoded; charset=utf-8
|
Content-Type: application/x-www-form-urlencoded; charset=utf-8
|
||||||
|
|
||||||
name=John+Smith
|
name=John+Smith
|
||||||
@ -587,7 +587,7 @@ If one or more file fields is present, the serialization and content type is
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http -f POST example.com/jobs name='John Smith' cv@~/Documents/cv.pdf
|
$ http -f POST httpbin.org/post name='John Smith' cv@~/Documents/cv.pdf
|
||||||
|
|
||||||
|
|
||||||
The request above is the same as if the following HTML form were
|
The request above is the same as if the following HTML form were
|
||||||
@ -611,17 +611,17 @@ To set custom headers you can use the ``Header:Value`` notation:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.org User-Agent:Bacon/1.0 'Cookie:valued-visitor=yes;foo=bar' \
|
$ http httpbin.org/headers User-Agent:Bacon/1.0 'Cookie:valued-visitor=yes;foo=bar' \
|
||||||
X-Foo:Bar Referer:https://httpie.org/
|
X-Foo:Bar Referer:https://httpie.org/
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
GET / HTTP/1.1
|
GET /headers HTTP/1.1
|
||||||
Accept: */*
|
Accept: */*
|
||||||
Accept-Encoding: gzip, deflate
|
Accept-Encoding: gzip, deflate
|
||||||
Cookie: valued-visitor=yes;foo=bar
|
Cookie: valued-visitor=yes;foo=bar
|
||||||
Host: example.org
|
Host: httpbin.org
|
||||||
Referer: https://httpie.org/
|
Referer: https://httpie.org/
|
||||||
User-Agent: Bacon/1.0
|
User-Agent: Bacon/1.0
|
||||||
X-Foo: Bar
|
X-Foo: Bar
|
||||||
@ -691,7 +691,7 @@ Send a single cookie:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.org Cookie:sessionid=foo
|
$ http httpbin.org/cookies Cookie:sessionid=foo
|
||||||
|
|
||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
@ -700,7 +700,7 @@ Send a single cookie:
|
|||||||
Accept-Encoding: gzip, deflate
|
Accept-Encoding: gzip, deflate
|
||||||
Connection: keep-alive
|
Connection: keep-alive
|
||||||
Cookie: sessionid=foo
|
Cookie: sessionid=foo
|
||||||
Host: example.org
|
Host: httpbin.org
|
||||||
User-Agent: HTTPie/0.9.9
|
User-Agent: HTTPie/0.9.9
|
||||||
|
|
||||||
|
|
||||||
@ -709,7 +709,7 @@ Send multiple cookies
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.org 'Cookie:sessionid=foo;another-cookie=bar'
|
$ http httpbin.org/cookies 'Cookie:sessionid=foo;another-cookie=bar'
|
||||||
|
|
||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
@ -718,7 +718,7 @@ Send multiple cookies
|
|||||||
Accept-Encoding: gzip, deflate
|
Accept-Encoding: gzip, deflate
|
||||||
Connection: keep-alive
|
Connection: keep-alive
|
||||||
Cookie: sessionid=foo;another-cookie=bar
|
Cookie: sessionid=foo;another-cookie=bar
|
||||||
Host: example.org
|
Host: httpbin.org
|
||||||
User-Agent: HTTPie/0.9.9
|
User-Agent: HTTPie/0.9.9
|
||||||
|
|
||||||
|
|
||||||
@ -755,7 +755,7 @@ Basic auth
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http -a username:password example.org
|
$ http -a username:password httpbin.org/basic-auth/username/password
|
||||||
|
|
||||||
|
|
||||||
Digest auth
|
Digest auth
|
||||||
@ -764,7 +764,7 @@ Digest auth
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http -A digest -a username:password example.org
|
$ http -A digest -a username:password httpbin.org/digest-auth/httpie/username/password
|
||||||
|
|
||||||
|
|
||||||
Password prompt
|
Password prompt
|
||||||
@ -940,7 +940,7 @@ To skip the host's SSL certificate verification, you can pass ``--verify=no``
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --verify=no https://example.org
|
$ http --verify=no https://httpbin.org/get
|
||||||
|
|
||||||
|
|
||||||
Custom CA bundle
|
Custom CA bundle
|
||||||
@ -1095,7 +1095,7 @@ status code after an update:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --headers PATCH example.org/Really-Huge-Resource name='New Name'
|
$ http --headers PATCH httpbin.org/patch name='New Name'
|
||||||
|
|
||||||
|
|
||||||
Since we are only printing the HTTP headers here, the connection to the server
|
Since we are only printing the HTTP headers here, the connection to the server
|
||||||
@ -1117,28 +1117,28 @@ Redirect from a file:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http PUT example.com/person/1 X-API-Token:123 < person.json
|
$ http PUT httpbin.org/put X-API-Token:123 < person.json
|
||||||
|
|
||||||
|
|
||||||
Or the output of another program:
|
Or the output of another program:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ grep '401 Unauthorized' /var/log/httpd/error_log | http POST example.org/intruders
|
$ grep '401 Unauthorized' /var/log/httpd/error_log | http POST httpbin.org/post
|
||||||
|
|
||||||
|
|
||||||
You can use ``echo`` for simple data:
|
You can use ``echo`` for simple data:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ echo '{"name": "John"}' | http PATCH example.com/person/1 X-API-Token:123
|
$ echo '{"name": "John"}' | http PATCH httpbin.org/patch X-API-Token:123
|
||||||
|
|
||||||
|
|
||||||
You can also use a Bash *here string*:
|
You can also use a Bash *here string*:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.com/ <<<'{"name": "John"}'
|
$ http httpbin.org/post <<<'{"name": "John"}'
|
||||||
|
|
||||||
|
|
||||||
You can even pipe web services together using HTTPie:
|
You can even pipe web services together using HTTPie:
|
||||||
@ -1152,14 +1152,14 @@ You can use ``cat`` to enter multiline data on the terminal:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ cat | http POST example.com
|
$ cat | http POST httpbin.org/post
|
||||||
<paste>
|
<paste>
|
||||||
^D
|
^D
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ cat | http POST example.com/todos Content-Type:text/plain
|
$ cat | http POST httpbin.org/post Content-Type:text/plain
|
||||||
- buy milk
|
- buy milk
|
||||||
- call parents
|
- call parents
|
||||||
^D
|
^D
|
||||||
@ -1169,7 +1169,7 @@ On OS X, you can send the contents of the clipboard with ``pbpaste``:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ pbpaste | http PUT example.com
|
$ pbpaste | http PUT httpbin.org/put
|
||||||
|
|
||||||
|
|
||||||
Passing data through ``stdin`` cannot be combined with data fields specified
|
Passing data through ``stdin`` cannot be combined with data fields specified
|
||||||
@ -1243,7 +1243,7 @@ that the response body is binary,
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.org/Movie.mov
|
$ http httpbin.org/bytes/2000
|
||||||
|
|
||||||
|
|
||||||
You will nearly instantly see something like this:
|
You will nearly instantly see something like this:
|
||||||
@ -1251,10 +1251,7 @@ You will nearly instantly see something like this:
|
|||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
HTTP/1.1 200 OK
|
HTTP/1.1 200 OK
|
||||||
Accept-Ranges: bytes
|
Content-Type: application/octet-stream
|
||||||
Content-Encoding: gzip
|
|
||||||
Content-Type: video/quicktime
|
|
||||||
Transfer-Encoding: chunked
|
|
||||||
|
|
||||||
+-----------------------------------------+
|
+-----------------------------------------+
|
||||||
| NOTE: binary data not shown in terminal |
|
| NOTE: binary data not shown in terminal |
|
||||||
@ -1279,7 +1276,7 @@ Download a file:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http example.org/Movie.mov > Movie.mov
|
$ http httpbin.org/image/png > image.png
|
||||||
|
|
||||||
|
|
||||||
Download an image of Octocat, resize it using ImageMagick, upload it elsewhere:
|
Download an image of Octocat, resize it using ImageMagick, upload it elsewhere:
|
||||||
@ -1294,7 +1291,7 @@ Force colorizing and formatting, and show both the request and the response in
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --pretty=all --verbose example.org | less -R
|
$ http --pretty=all --verbose httpbin.org/get | less -R
|
||||||
|
|
||||||
|
|
||||||
The ``-R`` flag tells ``less`` to interpret color escape sequences included
|
The ``-R`` flag tells ``less`` to interpret color escape sequences included
|
||||||
@ -1453,10 +1450,10 @@ to the same host.
|
|||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# Create a new session
|
# Create a new session
|
||||||
$ http --session=/tmp/session.json example.org API-Token:123
|
$ http --session=/tmp/session.json httpbin.org/headers API-Token:123
|
||||||
|
|
||||||
# Re-use an existing session — API-Token will be set:
|
# Re-use an existing session — API-Token will be set:
|
||||||
$ http --session=/tmp/session.json example.org
|
$ http --session=/tmp/session.json httpbin.org/headers
|
||||||
|
|
||||||
|
|
||||||
All session data, including credentials, cookie data,
|
All session data, including credentials, cookie data,
|
||||||
@ -1471,11 +1468,11 @@ Named sessions
|
|||||||
|
|
||||||
|
|
||||||
You can create one or more named session per host. For example, this is how
|
You can create one or more named session per host. For example, this is how
|
||||||
you can create a new session named ``user1`` for ``example.org``:
|
you can create a new session named ``user1`` for ``httpbin.org``:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --session=user1 -a user1:password example.org X-Foo:Bar
|
$ http --session=user1 -a user1:password httpbin.org/get X-Foo:Bar
|
||||||
|
|
||||||
From now on, you can refer to the session by its name. When you choose to
|
From now on, you can refer to the session by its name. When you choose to
|
||||||
use the session again, any previously specified authentication or HTTP headers
|
use the session again, any previously specified authentication or HTTP headers
|
||||||
@ -1483,13 +1480,13 @@ will automatically be set:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --session=user1 example.org
|
$ http --session=user1 httpbin.org/get
|
||||||
|
|
||||||
To create or reuse a different session, simple specify a different name:
|
To create or reuse a different session, simple specify a different name:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http --session=user2 -a user2:password example.org X-Bar:Foo
|
$ http --session=user2 -a user2:password httpbin.org/get X-Bar:Foo
|
||||||
|
|
||||||
Named sessions’s data is stored in JSON files in the the ``sessions``
|
Named sessions’s data is stored in JSON files in the the ``sessions``
|
||||||
subdirectory of the `config`_ directory:
|
subdirectory of the `config`_ directory:
|
||||||
@ -1538,7 +1535,7 @@ environment variable:
|
|||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ export HTTPIE_CONFIG_DIR=/tmp/httpie
|
$ export HTTPIE_CONFIG_DIR=/tmp/httpie
|
||||||
$ http example.org
|
$ http httpbin.org/get
|
||||||
|
|
||||||
To view the exact location run ``http --debug``.
|
To view the exact location run ``http --debug``.
|
||||||
|
|
||||||
@ -1600,7 +1597,7 @@ respectively.
|
|||||||
|
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if http --check-status --ignore-stdin --timeout=2.5 HEAD example.org/health &> /dev/null; then
|
if http --check-status --ignore-stdin --timeout=2.5 HEAD httpbin.org/get &> /dev/null; then
|
||||||
echo 'OK!'
|
echo 'OK!'
|
||||||
else
|
else
|
||||||
case $? in
|
case $? in
|
||||||
@ -1648,7 +1645,8 @@ HTTP request:
|
|||||||
|
|
||||||
.. code-block:: http
|
.. code-block:: http
|
||||||
|
|
||||||
POST /collection HTTP/1.1
|
POST /post HTTP/1.1
|
||||||
|
Host: httpbin.org
|
||||||
X-API-Key: 123
|
X-API-Key: 123
|
||||||
User-Agent: Bacon/1.0
|
User-Agent: Bacon/1.0
|
||||||
Content-Type: application/x-www-form-urlencoded
|
Content-Type: application/x-www-form-urlencoded
|
||||||
@ -1660,7 +1658,7 @@ with the HTTPie command that sends it:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ http -f POST example.org/collection \
|
$ http -f POST httpbin.org/post \
|
||||||
X-API-Key:123 \
|
X-API-Key:123 \
|
||||||
User-Agent:Bacon/1.0 \
|
User-Agent:Bacon/1.0 \
|
||||||
name=value \
|
name=value \
|
||||||
|
Loading…
Reference in New Issue
Block a user