urllib3 - Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more

  •        327

urllib3 is a powerful, sanity-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. urllib3 brings many critical features that are missing from the Python standard libraries:

  • Thread safety.
  • Connection pooling.
  • Client-side SSL/TLS verification.
  • File uploads with multipart encoding.
  • Helpers for retrying requests and dealing with HTTP redirects.
  • Support for gzip and deflate encoding.
  • Proxy support for HTTP and SOCKS.
  • 100% test coverage.

http://urllib3.readthedocs.org/
https://github.com/shazow/urllib3

Tags
Implementation
License
Platform

   




Related Projects

Requests - Python HTTP Requests for Humans

  •    Python

Requests allows you to send organic, grass-fed HTTP/1.1 requests, without the need for manual labor. There's no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling are 100% automatic, thanks to urllib3. Requests is one of the most downloaded Python packages of all time, pulling in over 11,000,000 downloads every month.

OkHttp - An HTTP & HTTP/2 client for Android and Java applications

  •    Java

OkHttp is an HTTP & HTTP/2 client for Android and Java applications. It provides HTTP/2 support allows all requests to the same host to share a socket, Connection pooling, Response caching and lot more.

aiohttp - Async http client/server framework (asyncio)

  •    Python

For this release we completely refactored low-level implementation of http handling. Finally uvloop gives performance improvement. Overall performance improvement should be around 70-90% compared to 1.x version.We took opportunity to refactor long standing api design problems across whole package. Client exceptions handling has been cleaned up and now much more straight forward. Client payload management simplified and allows to extend with any custom type. Client connection pool implementation has been redesigned as well, now there is no need for actively releasing response objects, aiohttp handles connection release automatically.

httpinvoke - A no-dependencies HTTP client library for browsers and Node

  •    Javascript

A no-dependencies HTTP client library for browsers and Node.js with a promise-based or Node.js-style callback-based API to progress events, text and binary file upload and download, partial response body, request and response headers, status code. Any one, two or three arguments can be skipped, except the url.

Volley-demo - An demonstration of Volley - HTTP library announced by google in I/O 2013

  •    Java

An demonstration of Volley - HTTP library announced by google in I/O 2013. Android has provided two HTTP Clients AndroidHttpClient (Extended from apache HTTPClient) and HttpUrlConnection to make a HTTP Request. Both has its own pros and cons. When an application is developed, we write HTTP connection classes which handles all the HTTP requests, creating THREADS to run in background, managing THREAD pool, response parsing, response caching, handling error codes, SSL connections, running requests in parallel and others stuffs around that. Every developer has his own way of implementing these functionalities.Some might use AsycnTask for running network operations in background, or some might use passing handlers created from UI thread to HTTP connection classes which then executes network operation in worker thread and uses the handler to pass back the parsed HTTP response back to the main thread.


XLB HTTP Load Balancer

  •    C

XLB is a high performance HTTP load balancer. connection management, caching, ssl, scripting. 300 mbit/sec / 4000 reqs/sec takes 30% cpu on a 2GhZ Xeon. connection pooling to backend servers reduces memory and cpu usage on backends.

Apache HttpComponents Client - Java library implementing an HTTP client based on HttpCore components

  •    Java

HttpClient is a library for client-side HTTP communication built on HttpCore. It provides connection management, cookie management, and authentication. This is the successor to the widely used Jakarta Commons HttpClient 3.1.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

tinyproxy - tinyproxy - a light-weight HTTP/HTTPS proxy daemon for POSIX operating systems

  •    C

Tinyproxy is a small, efficient HTTP/SSL proxy daemon released under the GNU General Public License. Tinyproxy is very useful in a small network setting, where a larger proxy would either be too resource intensive, or a security risk. One of the key features of Tinyproxy is the buffering connection concept. In effect, Tinyproxy will buffer a high speed response from a server, and then relay it to a client at the highest speed the client will accept. This feature greatly reduces the problems with sluggishness on the Internet. If you are sharing an Internet connection with a small network, and you only want to allow HTTP requests to be allowed, then Tinyproxy is a great tool for the network administrator. For more info, please visit the Tinyproxy web site.

RestSharp - Simple REST and HTTP API Client for .NET

  •    CSharp

RestSharp is probably the most popular HTTP client library for .NET. Featuring automatic serialization and deserialization, request and response type detection, variety of authentications and other useful features, it is being used by hundreds of thousands of projects. RestSharp passed over 32 million downloads on NuGet, with average daily download count of 10,000. It's being used by many popular OSS projects, including Roslyn and Swagger.

PgBouncer - Lightweight connection pooler for PostgreSQL

  •    C

PgBouncer is a lightweight connection pooler for PostgreSQL. It supports Session pooling, Transaction pooling, Statement pooling. It is not tied to one backend server. The destination databases can reside on different hosts. It has low memory requirements (2 kB per connection by default). This is because PgBouncer does not need to see full packets at once.

CppServer - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution

  •    HTML

Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. Asio service is used to host all clients/servers based on Asio C++ library. It is implemented based on Asio C++ Library and use a separate thread to perform all asynchronous IO operations and communications.

httpcontrol - Package httpcontrol allows for HTTP transport level control around timeouts and retries

  •    Go

Package httpcontrol allows a HTTP transport supporting connection pooling, timeouts & retries.

httpcontrol - Package httpcontrol allows for HTTP transport level control around timeouts and retries

  •    Go

Package httpcontrol allows a HTTP transport supporting connection pooling, timeouts & retries.

http - HTTP (The Gem! a

  •    Ruby

HTTP (The Gem! a.k.a. http.rb) is an easy-to-use client library for making requests from Ruby. It uses a simple method chaining system for building requests, similar to Python's Requests. Under the hood, http.rb uses http_parser.rb, a fast HTTP parsing native extension based on the Node.js parser and a Java port thereof. This library isn't just yet another wrapper around Net::HTTP. It implements the HTTP protocol natively and outsources the parsing to native extensions.

c3p0 - JDBC3 Connection and Statement Pooling

  •    Java

c3p0 is an easy-to-use library for making traditional JDBC drivers "enterprise-ready" by augmenting them with functionality defined by the jdbc3 spec and the optional extensions to jdbc2. It provides (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension.

httplib2 - Small, fast HTTP client library for Python

  •    Python

httplib2 is a comprehensive HTTP client library, httplib2.py supports many features left out of other HTTP libraries. HTTPS support is only available if the socket module was compiled with SSL support.

Libzdb - Connection Pool Library in C

  •    C

Libzdb is a small, fast and easy to use Database Connection Pool Library. It is thread safe and connects to database like MySQL, PostgreSQL, SQLLite and Oracle.

js-ipfs-http-client - A client library for the IPFS HTTP API, implemented in JavaScript.

  •    Javascript

A client library for the IPFS HTTP API, implemented in JavaScript. This client library implements the interface-ipfs-core enabling applications to change between an embedded js-ipfs node and any remote IPFS node without having to change the code. In addition, this client library implements a set of utility functions. Alan Shaw.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.