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 = return_proxy: Boolean = False) -> Union[ProxyConnector, Tuple[Data, ProxyConnector]]

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

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.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.1.7.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

actproxy-0.1.7-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: actproxy-0.1.7.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for actproxy-0.1.7.tar.gz
Algorithm Hash digest
SHA256 d6880a7c68311eb5062bce6c8a5e0bef09522131bc80ae26d040da746b0642d0
MD5 547a438b158a0548ffdfb78790b52957
BLAKE2b-256 a68af7b1e0471412dbb446e68257306ad9d780df056c4bd2fbc34df53b040cd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: actproxy-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for actproxy-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b0d54baf27da9765622259e6fe283044a34f77bf33b504db3d023923fbbdbb59
MD5 c488d44b1339ca840ed00f6e2b484af4
BLAKE2b-256 8287c399979d4c5af55cfaf6d94554fcd9fc263e1104aee334e53789b0d5042c

See more details on using hashes here.

Supported by

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