SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 HTTP Client Open-Source Projects
-
Note, you can use any library for HTTP requests like axios. This example uses the http and node-fetch libraries available on npm.
-
Project mention: Bypass CORS errors while testing your APIs using Hoppscotch 🔧 | dev.to | 2024-04-17
How can Hoppscotch help you intercept the API calls? 👽
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
For many years now, Requests has been frozen. Being left in a vegetative state and not evolving, this blocked millions of developers from using more advanced features.
-
insomnia
The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.
Use tools like Postman or Insomnia to test the API endpoints and ensure they behave as expected.
-
httpie
🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. (by httpie)
tested the end points using httpie and sometime curl
-
Guzzle is a PHP HTTP client library. It’s a simple and effective solution for sending HTTP requests and managing HTTP/1.1 and HTTP/2.0 responses. This versatile tool excels in several areas, allowing developers to build query strings quickly, send POST requests, upload JSON data, and handle other HTTP-related tasks. Moreover, Guzzle facilitates both synchronous and asynchronous request handling, providing flexibility for different scenarios.
-
Project mention: Show HN: The HTTP Garden – A Parser Vulnerability Research Tool | news.ycombinator.com | 2024-02-05
> AIOHTTP: The Python int constructor is used to parse Content-Lengths and chunk-sizes, so _, +, and - are misinterpreted.
Fun. I believe the fix is incomplete here[1]. Python's int() constructor accepts integers comprised of any unicode numeral, for example, int("٦٦٦") == 666, and "٦٦٦".isdecimal() == True.
[1] https://github.com/aio-libs/aiohttp/pull/7663/files#diff-197...
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
-
Project mention: The Linux Kernel Prepares for Rust 1.77 Upgrade | news.ycombinator.com | 2024-02-18
> If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.
What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.
I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.
In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.
[0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.
-
For reference, it's a butterfly, not a moth.
-
Project mention: Ky is a tiny and elegant HTTP client based on the browser Fetch API | news.ycombinator.com | 2023-09-24
-
I tried Hurl after Insomnia went the way of Postman. The highlights you list were the strong drivers for testing it out. Where Hurl fell short was composing requests. Example: X.hurl response has authToken. Y.hurl uses authToken. Z.hurl uses authToken. There's no import ability[1], so you've got to use other tooling to copy X.hurl into Y.hurl and Z.hurl.
Ultimately settled on Bruno. It's backed by readable text files[2] as well. The CLI works for scripting. And the GUI is familiar enough that I've managed to convert Postman holdouts at my dayjob.
-
-
A new, Feign client, to make the get request to https://example.com/themes. This client will expose a get() method.
-
Project mention: The Linux Kernel Prepares for Rust 1.77 Upgrade | news.ycombinator.com | 2024-02-18
> If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.
What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.
I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.
In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.
[0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.
-
HTTP Prompt
An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more. https://twitter.com/httpie
-
To execute the algorithm, we will use Node.js (for the JavaScript runtime) and node-fetch (for network requests). This means we will run the code locally from the command line. For this project, we will have an output folder to store all the README data, as well as a list (queue) of repository URLs to visit. Before diving into the code, it is important to plan the input and output of the algorithm. For this web crawler, we will start at a valid GitHub repository page, which would be one URL string. After visiting each page with a README, we will export the data into a new file. Now lets cover the process of requesting a repository page from a URL. For this, we only care about saving the README file that is displayed, and we will ignore any other links that GitHub displays (such as the navbar). We will send a URL request with node-fetch, and retrieve the result of a HTML string. If we convert the HTML string to a DOM Tree, we can search for a specific element. GitHub stores the README file under a div with the class "markdown-body". We can use a library called 'jsdom' to use Browser API methods, and return a specific node.
-
POCO
The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
-
FileCentipede
Cross-platform internet upload/download manager for HTTP(S), FTP(S), SSH, magnet-link, BitTorrent, m3u8, ed2k, and online videos. WebDAV client, FTP client, SSH client.
-
-
-
Same. I use https://github.com/Huachao/vscode-restclient
If you need a little more control or automation, it can also generate scripts for cURL or PowerShell (and others) directly from the request. Organization is on you, but I prefer that over a heavyweight and opinionated tool like Postman.
The .http files can also be used in Jetbrains Rider (probably their other suites as well)
-
No need to use curl, make HTTP requests great again with https://github.com/ducaale/xh
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
HTTP Client related posts
- ManyShiba - The World's Greatest Twitter Bot
- Python Cloudflare Workers
- Ask HN: Alternatives to Postman?
- The Developer's Guide to OWASP API Security
- Revived the promise made six years ago for Requests 3
- Support Happy Eyeballs Even with QUIC / HTTP3 in Python
- Ask HN: Python library for robust URL retrieval with workaround strategies?
-
A note from our sponsor - SaaSHub
www.saashub.com | 18 Apr 2024
Index
What are some of the best open-source HTTP Client projects? This list will help you:
Project | Stars | |
---|---|---|
1 | axios | 103,912 |
2 | Postwoman | 59,976 |
3 | requests | 51,322 |
4 | insomnia | 33,036 |
5 | httpie | 31,760 |
6 | Guzzle | 22,977 |
7 | AIOHTTP | 14,530 |
8 | got | 13,924 |
9 | hyper | 13,804 |
10 | httpx | 12,200 |
11 | ky | 11,469 |
12 | hurl | 10,792 |
13 | resty | 9,309 |
14 | Feign | 9,256 |
15 | reqwest | 9,095 |
16 | HTTP Prompt | 8,866 |
17 | node-fetch | 8,635 |
18 | POCO | 7,882 |
19 | FileCentipede | 6,613 |
20 | Async Http Client | 6,234 |
21 | AndroidNetworking | 5,647 |
22 | vscode-restclient | 4,913 |
23 | ht | 4,722 |