High Performance HTTP Requests Library
Project description
Fiberhttp
Fiberhttp
is for high-performance library
The benchmarks folder contains comparisons between Fiberhttp
and other well-known libraries such as requests
, httpx
, http.client
, and others. You will notice that Fiberhttp
outperforms them every time
Fiberhttp might not for you
Fiberhttp is designed to provide high performance but lacks many features like:
missing Features:
- No support for handling file
- No support for SOCKS proxies
- No support for streaming requests
If these features are important to you, and you value compatibility and functionality over performance, then the requests library might be a better choice for you.
Features:
- Keep-alive (socket connection)
- Build bytes request before send the request
- Create socket connection with server before send the request
- High-performance SSL/TLS handshake, verify
- Reading responses in various formats such as JSON, headers, and cookies
How to use
install Fiberhttp (supported all os systems)
pip install fiberhttp
with client session
import fiberhttp
# create client session with timeout
# ! timeout not requierd
cn = fiberhttp.client(timeout=10)
# send get request
res = cn.get('https://httpbin.org/ip')
status_code = res.status_code()
body = res.text()
headers = res.headers()['Date']
json = res.json()['origin']
without client session
import fiberhttp
# send request without create client
response = fiberhttp.get('https://httpbin.org/ip')
with proxies
import fiberhttp
# create client proxy
cn = fiberhttp.client_proxy('http://20.111.54.16:8123')
# send request after the proxy in the client session
response = cn.get('https://httpbin.org/ip').json()['origin']
print(response)
use build request for high performance
import fiberhttp
cn = fiberhttp.client()
# build request with this format
request = fiberhttp.build('GET', 'httpbin.org', '/ip')
# send request after build it
response = cn.send('httpbin.org', request).json()
create connection with host before send request to reduce response time
import fiberhttp
cn = fiberhttp.client()
request = fiberhttp.build('GET', 'httpbin.org', '/ip')
cn.connect('httpbin.org')
response = cn.send('httpbin.org', request).text()
print(response)
use build, create connection with proxies
import fiberhttp
cn = fiberhttp.client_proxy('http://username:password@host:port')
# if the proxy has authentication, you must include the proxy_auth argument, which can be obtained from the client
request = fiberhttp.build_proxy('GET', 'httpbin.org', '/ip', proxy_auth=cn.proxy_auth)
# connect befor send not required; but its better for high peformance
cn.connect('httpbin.org')
response = cn.send('httpbin.org', request).text()
print(response)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fiberhttp-2.0.tar.gz
.
File metadata
- Download URL: fiberhttp-2.0.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6fe174cfa2361cdf80a9cba3b67935334a958243cde81a03a1090d719b26f00 |
|
MD5 | d7ff3cb45c3a4412a5c89c7191ecdece |
|
BLAKE2b-256 | 800513423d06193d785d9a64ca7fc5ad352fc08fa5e32f06b8a42541e7e38aae |
File details
Details for the file fiberhttp-2.0-py3-none-any.whl
.
File metadata
- Download URL: fiberhttp-2.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 064f08f22f6df17aafd329c014874c37265a781491129541adfd2f9cf8ef640d |
|
MD5 | b958f3c80400b59853f122d2e286bc3b |
|
BLAKE2b-256 | c4ad82729f03e4b5ceb455b3ee9c09721513eb4f496b1914d0a6ae38bfd1a133 |