Web3.py versioonis 7.14 kasutab HTTPProvider teeki Requests, samas kui AsyncHTTPProvider kasutab aiohttp'd. Nende request_kwargs jõuavad erinevatesse HTTP klientidesse.

Sünkroonse HTTPS JSON-RPC lõpp-punkti jaoks:

from web3 import Web3

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

Hoidke rpc_url tegeliku sõlme lõpp-punktina. Kaardis olev väärtus nimetab vahendaja. Lubatud avaliku puhverserveri marsruudil asuva avaliku RPC sõlme jaoks pakub HTTP puhverserverite loend kandidaate HTTP puhverserveri väärtustele mõlemas näites.

Asünkroonne pakkuja kasutab selle asemel ainsuses proxy't URL-väärtusega:

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)

Puhverserverite kopeerimine asünkroonsele teele tekitab aiohttp's ootamatu märksõna vea. Muuta tuleb nii kirjapilti kui ka väärtuse tüüpi.

Sulgege asünkroonne pakkuja oma korrastustee await provider.disconnect() abil. Need seaded kuuluvad HTTP pakkujatele; WebSocketi pakkujal on oma transpordiliides.

Seotud artiklid