Skip to main content

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

simpleclient-0.0.5.tar.gz (4.7 kB view details)

Uploaded Source

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

Hashes for simpleclient-0.0.5.tar.gz
Algorithm Hash digest
SHA256 37cfbe31e223e931e6d705c3f7c413c68a4eb83609dd09a4948d31ad616eb015
MD5 562f891fd62b921a9e4ec349c68ac402
BLAKE2b-256 828202243eb6c1813347efbee45a74fcd11e7a844b9dbcbb609d8dcb94b7a106

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page