Skip to main content

Sync & asyncio (Requests & AIOHTTP) proxy rotator + utils for actproxy API & services.

Project description

actproxy

Python package providing actproxy.com API access and proxy rotation methods for requests (synchronous) and aiohttp (asyncio). Can also be used independently. Supports socks5, http/https, and ipv4/ipv6 as per actproxy's services.

PyPI license

Quick-Start (AIOHTTP)

import actproxy
from aiohttp import ClientSession


async def main():
    actproxy_api_keys = [
        "xxxxxxxxxxxxxxxxxxxxxxxx",
        "xxxxxxxxxxxxxxxxxxxxxxxx"
    ]
    # Initialize API. Also returns your proxies.
    await actproxy.aioinit(actproxy_api_keys)
    # Use a new AIOHTTP connector which rotates & uses the next proxy.
    async with ClientSession(connector=actproxy.aiohttp_rotate()) as session:
        url = "http://dummy.restapiexample.com/api/v1/employees"
        async with session.get(url) as resp:
            if resp.status == 200:
                resp_json = await resp.json()
                print(resp_json)

Quick-Start (Requests)

import actproxy
import requests

actproxy_api_keys = [
    "xxxxxxxxxxxxxxxxxxxxxxxx",
    "xxxxxxxxxxxxxxxxxxxxxxxx"
]
# Initialize API. Also returns your proxies.
actproxy.init(actproxy_api_keys)
url = "http://dummy.restapiexample.com/api/v1/employees"
resp = requests.get(url, proxies=actproxy.rotate())
if resp.status_code == 200:
    resp_json = resp.json()
    print(resp_json)

Methods

actproxy.aioinit(api_keys: List = None, output_format: DumpFormat = 'json', get_userpass: Boolean = True) -> Union[FlatList, str, None]

Fetches your proxies from ActProxy & returns them. Must be run before the other aiohttp functions.

actproxy.init(api_keys: List[str], output_format: DumpFormat = 'json', get_userpass: Any = True) -> Union[FlatList, str, None]

Fetches your proxies from ActProxy & returns them. Must be run before the other synchronous functions.

actproxy.aiohttp_rotate(protocol: ProxyProto/str, return_proxy: Boolean = False) -> Union[ProxyConnector, Tuple[Data, ProxyConnector]]

Returns an aiohttp connector which uses the next proxy from your list.

actproxy.async_rotate_fetch(url: str, protocol: ProxyProto/str = 'socks5', return_proxy: Boolean = False) -> Data

Rotate proxies and perform a GET request. Returns a Data object of response.status_code, response.text, and response.headers.

actproxy.rotate(protocol: ProxyProto = 'socks5') -> Data

Returns the next proxy from your list. Return variable is suitable for use with requests[socks].

actproxy.random_proxy(protocol: ProxyProto = 'socks5') -> Data

Returns a random proxy from your list. Return variable is suitable for use with requests[socks].

actproxy.aiohttp_random(protocol: ProxyProto = 'socks5', return_proxy: Boolean = False) -> Union[ProxyConnector, Tuple[Data, ProxyConnector]]

Returns an aiohttp connector which uses uses a random proxy from your list.

actproxy.one_hot_proxy() -> Data

Similar to rotate() but returns a single proxy dict/object for use in places other than aiohttp or requests.

Changelog

0.1.9 - 11/09/2020 : New asyncio rotation methods based on python_socks.

0.1.8 - 10/28/2020 : Fixed versioning typo.

0.1.7 - 10/28/2020 : Relax Python version constraint (3.8-4.0).

0.1.6 - 10/24/2020 : Lock aiohttp version fixing aiohttp #5112

0.1.5 - 10/24/2020 : Rotator bug fix. CSV fix. Better type-hints & coverage.

0.1.4 - 10/23/2020 : Support multiple API keys. Unit tests. Fixes.

0.1.3 - 9/29/2020 : Minor fixes and addition of docstrings.

0.1.2 - 9/28/2020 : Initial release version.

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

actproxy-0.2.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

actproxy-0.2.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file actproxy-0.2.0.tar.gz.

File metadata

  • Download URL: actproxy-0.2.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for actproxy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4a7d83361c26d81d1f904195894468e73b3a701f10f0d36af85f50490bb7f162
MD5 c23baa430fed7d8dfbeec737f11ce083
BLAKE2b-256 55afd3cdac251e3f2c6ca036210b584051d0a88e0c9813776fb7a7cd6f6f29c9

See more details on using hashes here.

File details

Details for the file actproxy-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: actproxy-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for actproxy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb0b9aee0b9426037651995cbcb40fbf4e5d4f433094dc982835178f1916d4d0
MD5 516598bcc4d115c1cdd3ca5216f583f0
BLAKE2b-256 8e8b255ca65cecc67dd169e9193353402dfa2f194d293a7f674c6a5b858a4f41

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