k3http
We find that 'httplib' must work in blocking mode and it can not have a timeout when recving response.
k3http is a component of pykit3 project: a python3 toolkit set.
HTTP/1.1 client
Use this module, we can set timeout, if timeout raise a 'socket.timeout'.
Install
pip install k3http
Synopsis
import urllib
import k3http
headers = {
"Host": "127.0.0.1",
"Accept-Language": "en, mi",
}
try:
h = k3http.Client("127.0.0.1", 80)
# send http reqeust without body
# read response status line
# read response headers
h.request("/test.txt", method="GET", headers=headers)
status = h.status
# response code return from http server, type is int
# 200
# 302
# 404
# ...
res_headers = h.headers
# response headers except status line
# res_headers = {
# 'Content-Type': 'text/html;charset=utf-8',
# 'Content-Length': 1024,
# ...
# }
# get response body
print(h.read_body(None))
except (OSError, k3http.HttpError) as e:
print(repr(e))
content = urllib.urlencode({"f": "foo", "b": "bar"})
headers = {
"Host": "www.example.com",
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8",
"Content-Length": len(content),
}
try:
h = k3http.Client("127.0.0.1", 80)
# send http reqeust
h.send_request("http://www.example.com", method="POST", headers=headers)
# send http request body
h.send_body(content)
# read response status line and headers
status, headers = h.read_response()
# read response body
print(h.read_body(None))
except (OSError, k3http.HttpError) as e:
print(repr(e))
Author
Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Metadata
Release files for k3http 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| k3http-0.1.6.tar.gz | 13.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| k3http-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.3 kB
Release files / k3http-0.1.6.tar.gz
| Download URL | k3http-0.1.6.tar.gz |
|---|---|
| Size | 13.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5480b1ffe053607cf0e6c4e82edfcbde87159e919961688eaccf9a704b96c4b8
|
|
BLAKE2b-256 checksum How to use checksums |
0f74991d313213ea1ca7f97df0b518ca50c8b81ad46ea248458c2e58d73f9991
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / k3http-0.1.6-py3-none-any.whl
| Download URL | k3http-0.1.6-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20d307b5a9ac59299d1a030f82620a7c1537ef59cb62f6412444a927e884ed4c
|
|
BLAKE2b-256 checksum How to use checksums |
92289ef1f6e1c14fa6bc419d79554158d099e79c1aa32a8371682cb4edb67abe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|