በ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 ፕሮክሲ እሴቶች እጩዎችን ይሰጣል።

የተመሳሳዩ አልተመሳሰለ አቅራቢ በምትኩ ነጠላ proxy ከ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)

ፕሮክሲዎችን ወደ አልተመሳሰለው መንገድ መቅዳት በaiohttp ውስጥ ያልተጠበቀ ቁልፍ ቃል ስህተት ያስከትላል። ሁለቱም አጻጻፉ እና የእሴት ዓይነቱ መቀየር አለባቸው።

አልተመሳሰለውን አቅራቢ በማጽዳት መንገዱ ላይ በawait provider.disconnect() ይዝጉት። እነዚህ ቅንብሮች የHTTP አቅራቢዎች ናቸው፤ የWebSocket አቅራቢ የራሱ የመጓጓዣ በይነገጽ አለው።

ተዛማጅ ጽሑፎች