web3.py 7.14-də HTTPProvider Requests, AsyncHTTPProvider isə aiohttp istifadə edir. Onların request_kwargs-u müxtəlif HTTP müştərilərinə çatır.

Sinxron HTTPS JSON-RPC son nöqtəsi üçün:

from web3 import Web3

client = Web3(Web3.HTTPProvider(
    rpc_url,
    request_kwargs={
        'proxies': {'https': 'http://proxy.example:8080'},
        'timeout': 20,
    },
))

rpc_url-i faktiki node son nöqtəsi kimi saxlayın. Xəritədəki dəyər vasitəçini göstərir. İcazə verilmiş ictimai-proxy marşrutunda olan ictimai RPC node-u üçün HTTP proxy siyahısı hər iki nümunədə HTTP proxy dəyərləri üçün namizədlər təqdim edir.

Asinxron provayder isə URL dəyəri ilə tək forma proxy istifadə edir:

from aiohttp import ClientTimeout
from web3 import AsyncHTTPProvider, AsyncWeb3

provider = AsyncHTTPProvider(
    rpc_url,
    request_kwargs={
        'proxy': 'http://proxy.example:8080',
        'timeout': ClientTimeout(total=20),
    },
)
async_client = AsyncWeb3(provider)

Proxy-ləri asinxron yola köçürmək aiohttp-də gözlənilməz açar söz xətası yaradır. Həm yazılış, həm də dəyər tipi dəyişməlidir.

Asinxron provayderi təmizləmə yolunda await provider.disconnect() ilə bağlayın. Bu parametrlər HTTP provayderlərinə aiddir; WebSocket provayderinin öz nəqliyyat interfeysi var.

Əlaqəli məqalələr