Mipangilio ya proksi ya web3.py: HTTPProvider dhidi ya AsyncHTTPProvider
Tumia proksi za mtindo wa Requests kwa HTTPProvider na proksi ya mtindo wa aiohttp kwa AsyncHTTPProvider badala ya kunakili request_kwargs sawa kati yao.
Katika web3.py 7.14, HTTPProvider hutumia Requests ilhali AsyncHTTPProvider hutumia aiohttp. request_kwargs zao hufikia wateja tofauti wa HTTP.
Kwa kituo cha HTTPS JSON-RPC cha samtidishi:
from web3 import Web3
client = Web3(Web3.HTTPProvider(
rpc_url,
request_kwargs={
'proxies': {'https': 'http://proxy.example:8080'},
'timeout': 20,
},
))Weka rpc_url kama kituo halisi cha nodi. Thamani iliyo kwenye ramani inataja mpatanishi. Kwa nodi ya RPC ya umma kwenye njia ya proksi ya umma iliyoruhusiwa, orodha ya proksi za HTTP hutoa watahiniwa wa thamani za proksi za HTTP katika mifano yote miwili.
Mtoa huduma asinkroni badala yake hutumia proxy ya umoja yenye thamani ya URL:
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)Kunakili proksi kwenye njia asinkroni huzalisha hitilafu ya neno muhimu isiyotarajiwa katika aiohttp. Tahajia na aina ya thamani vyote vinapaswa kubadilishwa.
Funga mtoa huduma asinkroni kwa await provider.disconnect() katika njia yake ya kusafisha. Mipangilio hii ni ya watoa huduma wa HTTP; mtoa huduma wa WebSocket ana kiolesura chake cha usafirishaji.