Python Simple HTTP Client
Project description
simpleclient
simpleclient "Python Simple HTTP Client" is a simple guzzle-like library built on top of The Standard Python Library. Unlike guzzle, simpleclient is smaller, and not full of features. It is compatible with Python 2.x and 3.x. There is also a php-simple-client written in PHP.
Install
pip install simpleclient
Quick Start
import simpleclient
client = simpleclient.Stream()
Simple GET
Send a GET Request
client.seturl('https://www.google.com/') # required to set an url
client.send()
Display Responses
print(client.getheader())
# HTTP/1.1 200 OK
# Date: Mon, 14 Jan 2021 14:14:48 GMT
# Expires: -1
# Cache-Control: private, max-age=0
# Content-Type: text/html; charset=UTF-8
# ...
print(client.getheader(0))
# HTTP/1.1 200 OK
print(client.getheader('Content-Type'))
# text/html; charset=UTF-8
print(client.getbody())
# <!doctype html>...</html>
Custom Requests
Custom requests using the request() method.
client.seturl('https://www.google.com/') # required to set an url
client.request('HEAD')
client.send()
You can also provide a payload, for example, for a POST request. The payload can be a dictionary, or a string. It will automatically send a 'Content-Type: application/x-www-form-urlencoded' header. You can set it manually with the setheaders() method for other types required.
client.request('POST', {'user': 'myusername', 'pass': 'mypassword'})
Setting Headers To Be Sent
Setting Headers must be done before calling request() and send() method.
client.setheaders([
'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: en-US,en;q=0.5'
])
Common
print(client.getprotocol()) # HTTP
print(client.getprotocolversion()) # 1.1
print(client.getstatuscode()) # 200
print(client.getreasonphrase()) # OK
Debug
You can enable debug mode. This will allow you to monitor the request header being sent.
client = simpleclient.Stream(debug=True)
client.seturl('https://www.google.com/') # required to set an url
client.request('HEAD')
client.send()
# finally, show the response
print(client.getheader())
And other features to hack like the getresponse() method.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file simpleclient-0.0.5.tar.gz
.
File metadata
- Download URL: simpleclient-0.0.5.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37cfbe31e223e931e6d705c3f7c413c68a4eb83609dd09a4948d31ad616eb015 |
|
MD5 | 562f891fd62b921a9e4ec349c68ac402 |
|
BLAKE2b-256 | 828202243eb6c1813347efbee45a74fcd11e7a844b9dbcbb609d8dcb94b7a106 |