web3.py прокси жөндөөлөрү: HTTPProvider жана AsyncHTTPProvider
HTTPProvider үчүн Requests стилиндеги проксини, AsyncHTTPProvider үчүн aiohttp стилиндеги проксини колдонуңуз; эле request_kwargsты алардын ортосунда көчүрбөңүз.
web3.py 7.14 ичинде HTTPProvider Requestsти, ал эми AsyncHTTPProvider aiohttpны колдонот. Алардын request_kwargs ар кандай HTTP кардарларга жетет.
Синхрондук HTTPS JSON-RPC акыркы чекити үчүн:
from web3 import Web3
client = Web3(Web3.HTTPProvider(
rpc_url,
request_kwargs={
'proxies': {'https': 'http://proxy.example:8080'},
'timeout': 20,
},
))rpc_urlди түйүндүн чыныгы акыркы чекити катары калтырыңыз. Картадагы маани делдалды атайт. Уруксат берилген коомдук прокси маршрутундагы коомдук RPC түйүнү үчүн HTTP прокси тизмеси эки мисалдагы тең HTTP прокси маанилерине талапкерлерди сунуштайт.
Асинхрондук провайдер анын ордуна URL мааниси бар жекелик proxy колдонот:
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)Проксилерди асинхрондук жолго көчүрүү aiohttp ичинде күтүлбөгөн ачкыч сөз катасын жаратат. Жазылышы да, маанинин түрү да өзгөрүшү керек.
Асинхрондук провайдерди тазалоо жолунда await provider.disconnect() менен жабыңыз. Бул жөндөөлөр HTTP провайдерлерине таандык; WebSocket провайдеринин өзүнүн транспорт интерфейси бар.