HTTPie: a CLI, cURL-like tool for humans
github.com
github.com
Is there anything similar for GUI users? The standalone application form of Postman is popular with some coworkers for general HTTP work as is Fiddler on Windows.
I discovered HTTPie a few years back and it has completely replaced curl/wget during our API development and testing.
The concept of an HTTP CLI seems obvious to me in retrospect, but I'm not a web developer, so maybe there's a reason this isn't as useful it would seem at first glance?
I still tend to go back to cURL when I want to see exactly what's been received, and use httpie for when I know the response headers and body serialization are fine and I want to see the data therein.
$ http put url key1=val1 key2=val2
If one of the fields is a larger nested object can use := $ http put url key1=simpleval1 key2:='{literaljson...}'Whether it's an interface to requests or to libcurl matters fairly little. It'd be quite a drag if it were to libcurl in fact because syntax highlighting would be a lot harder, for example.
You don't simplify things by going from one popular lib to another, especially when they both have legitimate use cases. Requests is one of Python's most highly regarded libs and a very popular one at that. Httpie is not its only user.
And what you are describing is not a simple process. Gaining tests and features (what features anyway?) is not good enough for it.
Not really, since if you read my comments I suggested they could have been merged into cURL three years ago (after starting four years ago). It wouldn't even be a new project, it would simply be an add-on tool. And that's the point.
Is is that HTTPie should be merged into the cURL project?
> If this was implemented with libcurl and bundled with cURL
> httpie gains a wealth of advantages
> along with greater support, developer base, test coverage, user base, and lower tco
> and cURL gets syntax highlighting
Why are you being weirdly insistent that there only exist exactly one tool for making HTTP requests on the command line?
I'm not. I'm being weirdly insistent that adding features to one good tool is better than having 10 kinda-ok tools all with different features.
Imagine if VLC or MPlayer was actually 10 different video players, all of which supported different media formats and had different features. That was actually somewhat the case for a while; kplayer supported some things, the five different GTK/Gnome players supported some things, they were all relatively buggy and playing video was always annoying. Except for VLC and MPlayer, which just did everything, and were mostly fantastic.
How did VLC and MPlayer do this? They designed their apps specifically so that they could expand in features, and allowed people to contribute new technology. They supported runtime codecs and extensions. And they had a large development and user base, and people saw the benefit in having one tool that supported as many ways possible of doing the one thing they wanted: playing a video.
Having one tool to handle all the weird uses of HTTP may not be reasonable, but having a toolkit that bundles all the weird uses of HTTP would be infinitely more useful than having to download 100 different projects just to munge HTTP requests. There are many such toolkits for other technologies. This is not a new or contentious idea.
VLC and MPlayer were two of "10 different video players" when they were made, and a great many other video players, some significantly older and with higher support, were eventually supplanted by them (at least VLC, anywway).
In your little model here, that would never have happened. You'd utterly kill innovation and progress with this.
I cannot overstate how mistaken you are here, it is completely and wholly a terrible idea, at every turn. Maybe there's something I'm not getting, I certainly hope so.
This is literally false. They were not developed in a vacuum like you describe, but as one of a great many competing products, all of which were older. You claim they should have been folded in with other, older projects, but they weren't and because they weren't, they improved beyond those other projects, and are still here, having grown beyond the projects you claim they should have been absorbed by.
My argument was less than 50 words, if you can't parse it, I can't help you. This is also nearly a week old, has completely lost my interest, and likely the interest of everyone else on this site. Why are you still replying?
I'm not sure I understand your point.
BTW, curl is great too but I hate these kinds of posts. I keep seeing people on HN saying "not sure why anyone would use Y over X" completely disingenuously as if they are expressely not acknowledging the legitimate use cases of Y.
Not sure why anyone would use dropbox over a self-hosted sftp server, right?
Kind of like titling a project "X: a CLI, Y-like tool for humans"...