The simple HTTP proxy.
Project description
CGI Proxy
Simple CGI HTTP Proxy.
- Sets the
X-Forwarded-Forheader with the client IP address; - Sets the
User-Agentheader with the client'User-Agentstring; - Decodes
gzip-ed content; - Prints all errors to
stderr; - Uses
urllib2for Python 2 andurllib.requestfor Python 3.
Installation
Install from PyPI using pip:
$ pip install cgiproxy
Methods
do_get(url, headers=None)
Performs GET request.
Arguments:
url- The request URL asstr.headers- Optional HTTP request headers asdict.
Returns:
- A tuple of
(content, status_code, response_headers)
do_head(url, headers=None)
Performs HEAD request.
Arguments:
url- The request URL asstr.headers- Optional HTTP request headers asdict.
Returns:
- A tuple of
(content='', status_code, response_headers)
do_post(url, data=None, headers=None)
Performs POST request. Converts query to POST params if data is None.
Arguments:
url- The request URL asstr.data- Optional HTTP POST data as URL-encodedstr.headers- Optional HTTP request headers asdict.
Returns:
- A tuple of
(content, status_code, response_headers)
get_http_status(url, headers=None)
Gets HTTP status code.
Arguments:
url- The request URL asstr.headers- Optional HTTP request headers asdict.
Returns:
- An HTTP status code.
get_response_headers(url, headers=None)
Gets HTTP response headers.
Arguments:
url- The request URL asstr.headers- Optional HTTP request headers asdict.
Returns:
- An HTTP response headers as
dict.
Examples
import cgiproxy
status = cgiproxy.get_http_status('https://www.pageportrait.com/')
print(200 == status)
headers = cgiproxy.get_response_headers('https://komito.net/')
print(headers.get('content-type'))
content, status, headers = cgiproxy.do_head('https://www.dtm.io/')
print('' == content)
print(200 == status)
print(headers.get('content-type'))
content, status, headers = cgiproxy.do_get('https://www.dtm.io/', headers={
'User-Agent': 'Mozilla/5.0 (compatible; Darwin/18.2.0) cgiproxy/18.12',
'X-Custom-Header': 'value'
})
print('' != content)
print(200 == status)
print(headers.get('content-type'))
content, status, headers = cgiproxy.do_post('https://example.com/', data='aaa%3Dbbb%26ccc%3Dddd')
print('' != content)
print(200 == status)
print(headers.get('content-type'))
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 Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cgiproxy-20.11.14.tar.gz.
File metadata
- Download URL: cgiproxy-20.11.14.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b52f0a5238b33f1a3dad094d39dd769e5d7ae82aaa3f7ff532f2bad19d16af22
|
|
| MD5 |
9c27eb15056ee54c4ac27b0a1689aaac
|
|
| BLAKE2b-256 |
425fbe48e373d196afb8fa53459bf4de8c1a7986b80f753120e16f386aa839d3
|
File details
Details for the file cgiproxy-20.11.14-py3-none-any.whl.
File metadata
- Download URL: cgiproxy-20.11.14-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c70e5e921d2a7367c0743aed1d5b45e12df6f8a1b23b111983230fecb993798
|
|
| MD5 |
8949888719d5f69fbe0cf693a8582302
|
|
| BLAKE2b-256 |
9f9c67e0ded3c6b7f6e46a0a14411a1b886e34588e2b044fc5fb62e59e2519b1
|
File details
Details for the file cgiproxy-20.11.14-py2-none-any.whl.
File metadata
- Download URL: cgiproxy-20.11.14-py2-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.6.1 requests/2.25.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/2.7.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
822b8363db7918ffb9b4c53e314d023b5a095377f0c0097067695a27c7ec7392
|
|
| MD5 |
87fdc7de3d28ef7201a4c4e97c3d28cb
|
|
| BLAKE2b-256 |
df91a7124563fa8f37436f6ab7c364376193a477b98b2c52fe2830d7b37b3cef
|