Proxy-stillingar í web3.py: HTTPProvider móti AsyncHTTPProvider
Brúka Requests-stíls proxyr til HTTPProvider og aiohttp-stíls proxy til AsyncHTTPProvider í staðin fyri at avrita somu request_kwargs millum teirra.
Í web3.py 7.14 brúkar HTTPProvider Requests, meðan AsyncHTTPProvider brúkar aiohttp. Teirra request_kwargs náa til ymisk HTTP-klientar.
Fyri ein synkronan HTTPS JSON-RPC-endapunt:
from web3 import Web3
client = Web3(Web3.HTTPProvider(
rpc_url,
request_kwargs={
'proxies': {'https': 'http://proxy.example:8080'},
'timeout': 20,
},
))Halt rpc_url sum tann veruliga endapunturin hjá noduni. Virðið í kortinum nevnir millummannin. Fyri eina almenna RPC-nodu á loyvdari almennari proxy-leið veitir HTTP-proxy-listin kandidatar til HTTP-proxy-virðini í báðum dømunum.
Tann asynkrona veitandi brúkar í staðin eintal proxy við einum URL-virði:
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)At avrita proxyr inn á ta asynkronu leiðina framkallar eina óvænta lykliorð-villu í aiohttp. Bæði stavsetingin og virðistypan mugu broytast.
Lat tann asynkrona veitandan aftur við await provider.disconnect() í reinsingarleiðini. Hesar stillingarnar hoyra til HTTP-veitendarnar; ein WebSocket-veitandi hevur sítt egna transport-interface.