Awesome
<div align='center'>awesome-http
š A curated list of HTTP clients for various languages & libraries <br>
</div>Pull Requests welcomed. Please see the Contributing Guide before opening a Pull Request.
Programming Languages
JavaScript
Name | Description | GitHub Activity |
---|---|---|
Axios | Promise based HTTP client for the browser and node.js | |
node-fetch | A light-weight module that brings the Fetch API to Node.js | |
Got | š Human-friendly and powerful HTTP request library for Node.js | |
superagent | Ajax for Node.js and browsers (JS HTTP client) | |
Needle | Nimble, streamable HTTP client for Node.js. With proxy, iconv, cookie, deflate & multipart support. |
Python
Name | Description | GitHub Activity |
---|---|---|
Requests | A simple, yet elegant, HTTP library. | |
urllib3 | Python HTTP library with thread-safe connection pooling, file post support, user friendly, and more. | |
httplib2 | Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App ā¦ | |
GRequests | Requests + Gevent = <3 | |
Uplink | A Declarative HTTP Client for Python |
Java
Name | Description | GitHub Activity |
---|---|---|
Eclipse Jetty | Eclipse JettyĀ® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servletsā¦ | |
OkHttp | Squareās meticulous HTTP client for the JVM, Android, and GraalVM. | |
Heritrix | Heritrix is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawlerā¦ | |
Apache HttpClient | Mirror of Apache HttpClient | |
Google HTTP Client Library | Google HTTP Client Library for Java | |
Http Request | Java HTTP Request Library |
Rust
Name | Description | GitHub Activity |
---|---|---|
reqwest | An easy and powerful Rust HTTP Client | |
hyper | An HTTP library for Rust | |
Isahc | The practical HTTP client that is fun to use. | |
Surf | Fast and friendly HTTP client framework for async Rust | |
curl-rust | Rust bindings to libcurl |
Swift
Name | Description | GitHub Activity |
---|---|---|
Alamofire | Elegant HTTP Networking in Swift | |
SwiftHTTP | Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. | |
Net | Http Request wrapper written in Swift | |
Moya | Network abstraction layer written in Swift. | |
Just | Swift HTTP for Humans | |
Kingfisher | A lightweight, pure-Swift library for downloading and caching images from the web. |
Haskell
Name | Description | GitHub Activity |
---|---|---|
Req | An HTTP client library | |
http-client | An HTTP client engine, intended as a base layer for more user-friendly packages. | |
servant-client | Main repository for the servant libraries ā DSL for describing, serving, querying, mocking, documenā¦ | |
http-streams | Haskell HTTP client library for use with io-streams |
Go
Name | Description | GitHub Activity |
---|---|---|
Req | Simple Go HTTP client with Black Magic | |
Resty | Simple HTTP and REST client library for Go | |
Sling | A Go HTTP client library for creating and sending API requests | |
requests | A golang HTTP client library. Salute to python requests. |
C++
Name | Description | GitHub Activity |
---|---|---|
Apache Serf | Mirror of Apache Serf | |
Curl for People | C++ Requests: Curl for People, a spiritual port of Python Requests. | |
cpp-netlib | The C++ Network Library Project -- cross-platform, standards compliant networking library. | |
Webcc | Lightweight C++ HTTP client and server library based on Asio for embedding purpose. | |
Proxygen | A collection of C++ HTTP libraries including an easy to use HTTP server. | |
cpp-httplib | A C++ header-only HTTP/HTTPS server and client library | |
NFHTTP | A cross platform C++ HTTP library that interfaces natively to other platforms. | |
EasyHttp | A cross-platform HTTP client library with a focus on usability and speed |
PHP
Name | Description | GitHub Activity |
---|---|---|
Guzzle | Guzzle, an extensible PHP HTTP client | |
HTTPlug | HTTPlug, the HTTP client abstraction for PHP | |
HTTP Client | Async HTTP/1.1+2 client for PHP based on Amp. | |
SendGrid HTTP Client | SendGrid's PHP HTTP Client for calling APIs | |
Buzz | PHP's lightweight HTTP client |
Bash/Shell
Name | Description | GitHub Activity |
---|---|---|
HTTPie | As easy as /aitch-tee-tee-pie/ š„§ Modern, user-friendly command-line HTTP client for the API era. Jā¦ | |
curl | A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, ā¦ | |
aria2 | aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in cā¦ | |
HTTP Prompt | An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocompleā¦ | |
Resty | Little command line REST client that you can use in pipelines (bash or zsh). | |
Ain | A HTTP API client for the terminal |