7 ms·
Httpie: A cURL alternative
- nlawalker 9y agoI'm just starting to get into Python and using the command line more after a lifetime of mostly sticking to GUIs, and I'm really digging the "software for humans" vibe I'm finding in a few places. HTTPie is a good example, as is ncdu, which I just discovered this morning. Also anything by Kenneth Reitz. The command line can be great for commanding, when it's done right, but it's not so great for most kinds of visualization, so CLI software that recognizes that and tries to compensate really helps.
- CardenB 9y agoHTTPie is great! I’ve replaced curl with it in my daily workflow
- ajb257 9y agoHTTPie is awesome, the only thing to watch out for is if you use it for large JSON responses, it can take a while to parse, process and display the response. In that case cURL is still handier, but HTTPie is the tool I generally reach for
- tyingq 9y agoDepending on what you are doing, Perl's LWP::Simple[1] and plain old wget[2] are sometimes handy. [1] http://www.perlmonks.org/?node_id=168684 http://www.perlmonks.org/?node_id=168684 [2] http://www.editcorp.com/personal/lars_appel/wget/v1/wget_7.html http://www.editcorp.com/personal/lars_appel/wget/v1/wget_7.h...
- GhostVII 9y agoIf you like httpie, http-prompt is a good add on for it, it lets you navigate through a rest API as if it is a filesystem (using cd for navigation), and lets you configure the arguments to pass to httpie for future requests.
- ippa 9y agoLove Httpie! Such an awesome cli with easy to remember, natural syntax. When installing on new boxes I wish it wasn't depending on python though.
- pimlottc 9y agoCould we all just agree to stop using the adjective “modern”? It’s such a weasal word. If there are advantages to your program, describe them. Simply being “newer” or in the currently trendy style does not make it automatically better. I’m not saying that this is a bad project. But “modern” doesn’t tell me anything about why I might want to use it.
- ralfn 9y agoWell, i use it daily, because it has: - much more sane command line syntax - automatic formatting and highlighting of json/xml/html - automatically show received headers - reverts to unproccessed output when redirected PROTIP: use 'cat' to type the body manually: cat | http post https://someapi.com/somenendpoint Authorization:sometoken You can then start typing the message body. When done, press ctrl+d (EOF) and the request will send and the reply will be printed. And if you already have the body in a separate file, just pipe it through: cat mybody.json | http post https://someapi.com/somenendpoint Authorization:sometoken
- derimagia 9y agoDon't need cat for the last one, can you redirected input http post https://someapi.com/somenendpoint Authorization:sometoken < mybody.json
- BenjiWiebe 9y agoAnd if you are like me, you use cat because it can go first in the command line... Until I discovered that file redirects can too! <mybody.json http post https://someapi.com/somenendpoint https://someapi.com/somenendpoint Authorization:sometoken
- underyx 9y agoCan you tell us what you think would be an appropriate 4-6 word tagline for HTTPie?
- dang 9y agoOK, we've s/modern//'d the title above.
- jimmahoney 9y agoIt looks cool, but I don't really want to wait half a minute for it to do anything. $ time curl cs.marlboro.college <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="https://cs.marlboro.college /">here</a>.</p> <hr> <address>Apache/2.4.18 (Ubuntu) Server at cs.marlboro.college Port 80</address> </body></html> real 0m0.269s user 0m0.004s sys 0m0.005s $ time http cs.marlboro.college HTTP/1.1 301 Moved Permanently Connection: Keep-Alive Content-Length: 321 Content-Type: text/html; charset=iso-8859-1 Date: Sat, 27 Jan 2018 18:04:17 GMT Keep-Alive: timeout=5, max=100 Location: https://cs.marlboro.college/ Server: Apache/2.4.18 (Ubuntu) <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="https://cs.marlboro.college/">here</a>.</p> <hr> <address>Apache/2.4.18 (Ubuntu) Server at cs.marlboro.college Port 80</address> </body></html> real 0m30.553s user 0m0.437s sys 0m0.052s
- GhostVII 9y agoOn my computer httpie took 0.775s, and curl took 0.105s, so not much slower.
- jbverschoor 9y ago7 times
- aorth 9y agoI use httpie to view request and response headers. Very handy when you want to check something without worrying that a browser is caching something for some reason (like a redirect). $ http --print Hh http://news.ycombinator.com
- parmesan 9y agoHttpie is my version of Postman and similar services, curl for humans is spot on imho.
- jenhsun 9y agowuzz is nice too. https://github.com/asciimoo/wuzz https://github.com/asciimoo/wuzz