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 প্ৰদানকাৰীৰ নিজৰ পৰিবহন ইণ্টাৰফেচ আছে।