HTTP Client

Open-source projects categorized as HTTP Client

Top 23 HTTP Client Open-Source Projects

  • axios

    Promise based HTTP client for the browser and node.js

    Project mention: ManyShiba - The World's Greatest Twitter Bot | dev.to | 2024-04-08

    Note, you can use any library for HTTP requests like axios. This example uses the http and node-fetch libraries available on npm.

  • Postwoman

    👽 Open source API development ecosystem - https://hoppscotch.io

    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.

  • requests

    A simple, yet elegant, HTTP library.

    Project mention: Revived the promise made six years ago for Requests 3 | dev.to | 2024-04-02

    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.

    Project mention: Building a RESTful API with Node.js and Express | dev.to | 2024-04-08

    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)

    Project mention: Personas - an Ai Assistant | dev.to | 2024-04-14

    tested the end points using httpie and sometime curl

  • Guzzle

    Guzzle, an extensible PHP HTTP client

    Project mention: Open Source Projects You Can Lay Your Hand On | /r/XBScompany | 2023-12-06

    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.

  • AIOHTTP

    Asynchronous HTTP client/server framework for asyncio and Python

    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.

  • got

    🌐 Human-friendly and powerful HTTP request library for Node.js

  • hyper

    An HTTP library for Rust (by hyperium)

    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.

    [1] https://crates.io/crates/reqwest/0.11.24/dependencies

    [2] https://crates.io/crates/hyper/0.14.28/dependencies

  • httpx

    A next generation HTTP client for Python. 🦋

    Project mention: A Retrospective on Requests | news.ycombinator.com | 2024-02-27

    For reference, it's a butterfly, not a moth.

    Source: https://github.com/encode/httpx/issues/834

  • ky

    🌳 Tiny & elegant JavaScript HTTP client based on the browser Fetch API

    Project mention: Ky is a tiny and elegant HTTP client based on the browser Fetch API | news.ycombinator.com | 2023-09-24
  • hurl

    Hurl, run and test HTTP requests with plain text.

    Project mention: Bruno | news.ycombinator.com | 2024-03-09

    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.

    [1]: https://github.com/Orange-OpenSource/hurl/issues/1723

    [2]: https://docs.usebruno.com/bru-language-samples.html

  • resty

    Simple HTTP and REST client library for Go

  • Feign

    Feign makes writing java http clients easier

    Project mention: How I practice TDD | dev.to | 2023-11-19

    A new, Feign client, to make the get request to https://example.com/themes. This client will expose a get() method.

  • reqwest

    An easy and powerful Rust HTTP Client

    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.

    [1] https://crates.io/crates/reqwest/0.11.24/dependencies

    [2] https://crates.io/crates/hyper/0.14.28/dependencies

  • 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

  • node-fetch

    A light-weight module that brings the Fetch API to Node.js

    Project mention: Building a README Crawler With Node.js | dev.to | 2024-04-08

    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.

  • Async Http Client

    Asynchronous Http and WebSocket Client library for Java

  • AndroidNetworking

    🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀

  • vscode-restclient

    REST Client Extension for Visual Studio Code

    Project mention: Ask HN: Alternatives to Postman? | news.ycombinator.com | 2024-04-04

    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)

  • ht

    Friendly and fast tool for sending HTTP requests

    Project mention: Curl is now a CVE Numbering Authority | news.ycombinator.com | 2024-01-18

    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

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-17.

HTTP Client related posts

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com