Yn web3.py 7.14 brûkt HTTPProvider Requests, wylst AsyncHTTPProvider aiohttp brûkt. Har request_kwargs berikke ferskate HTTP-klanten.

Foar in syngroan HTTPS JSON-RPC-einpunt:

from web3 import Web3

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

Hâld rpc_url as it werklike einpunt fan 'e knooppunt. De wearde yn 'e map neamt de tuskenpersoan. Foar in iepenbier RPC-knooppunt op in tastiene iepenbiere proxy-route leveret de HTTP-proxylist kandidaten foar de HTTP-proxywearden yn beide foarbylden.

De asynkrone oanbieder brûkt ynstee iental proxy mei in URL-wearde:

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)

Proxies kopiearje nei it asynkrone paad jout in ûnferwachte kaaiwurdflater yn aiohttp. Sawol de stavering as it weardetype moat feroarje.

Slút de asynkrone oanbieder mei await provider.disconnect() yn syn opromjepaat. Dizze ynstellingen hearre by de HTTP-oanbieders; in WebSocket-oanbieder hat syn eigen transportynterface.

Relatearre artikelen