This article is mainly to let readers understand Httpie, the HTTP command line client, and also learn about the interface
Httpie (aych-tee-tee-pie) is an HTTP command line client. The goal is to make the interaction between the CLI and the web service as user-friendly as possible. You can use it to easily debug the interface using http commands. The most commonly used ones are GET and POST.
To give a simple example, if there is a pet store that sells animal food, such as cat food and dog food, then selling food is an interface. If a cat comes, it will sell cat food, and if a dog comes, it will sell dog food. If you want chicken, duck, fish or the like, just modify the method of selling food.
If there is no interface, then you have to write down how to do it for cats, how to do it for dogs, and in the future, when chickens, ducks and fish come, you have to rewrite how to do it for chickens, etc... In short, Interfaces allow programs to be easily changed.
The ultimate goal is to make the interface stable and bug-free. Generally speaking, in addition to the most basic normal use functions, it is also necessary to test critical situations, such as whether data at the boundary of the input data range can be processed; there is also performance testing, which is the use of resources. Interface response time, etc.
Features:
1. Intuitive syntax
2. Formatted and colored terminal output
3. Built-in JSON support
4. Support uploading forms and files
5. HTTPS, proxy and authentication support
6. Support any request data
7. Customize title
8. Persistent session
9. Wget-like download
10. Support Python 2.6, 2.7 and 3.x
11. Support Linux, Mac OS X and Windows
12. Plug-in
13. Documents
14. Test coverage
We first use a picture to compare Httpie and curl:
curl -X METHOD -H HEADER -i
means to display the header of the return message. If you use cURL to access OpenStack, this option is essential when obtaining a UUID type token. Then create a request message body, and use curl to send the message. A json message body will be returned. However, the returned json message body is confusing and difficult to read. It is difficult to obtain information from the returned json message body.
HTTPie is written in python and uses the Requests and Pygments libraries internally.
The usage of HTTPie is much more intuitive than cURL. There are not so many options. Basically, you can write whatever you want. The default input and output are in json format (while cURL must specify -H "Content-Type: application/json "). We also implement the above function of obtaining token, and the effect is as follows:
It is obvious that the result structure obtained by using Httpie is clear and clear, and it automatically highlights and formats the returned results.
cURL vs HTTPie on the Command Line for HTTP APIs:
https://www.ctl.io/developers/blog/post/curl-vs-httpie-http-apis
The above is the detailed content of Humanized HTTP command line tool——HTTPie. For more information, please follow other related articles on the PHP Chinese website!