Mae Tornado yn darparu un rhyngwyneb cleient HTTP asyncronig gyda gweithrediadau gwahanol oddi tano. Felly gall opsiynau dirprwy fethu oherwydd y gweithrediad a ddewiswyd hyd yn oed pan fo diweddbwynt y dirprwy yn gywir.

Mae dogfennaeth y cleient HTTP yn nodi SimpleAsyncHTTPClient fel y gweithrediad diofyn ac yn dogfennu'r dewis arall sy'n seiliedig ar curl. Mae gan opsiynau cais fel proxy_host nodiadau cymorth sy'n benodol i'r gweithrediad. Darllenwch y nodiadau hynny cyn ychwanegu opsiynau at alwad fetch.

Ffurfweddwch cyn adeiladu'r cleient

Mewn amgylchedd sydd eisoes â backend curl, gall cymhwysiad ei ddewis cyn creu ei gleient a rennir:

from tornado.httpclient import AsyncHTTPClient

AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()

Yna defnyddiwch yr opsiynau cais dogfenedig ar gyfer gwesteiwr, porth, dilysu ac amser goramser y dirprwy ar gyfer y galwad a fwriadwyd. Cadwch enw'r gwesteiwr ar wahân i'r porth rhifol. Nid yw dewis y backend ynddo'i hun yn dewis diweddbwynt dirprwy. Ar gyfer llwybr HTTP cyhoeddus a ganiateir, mae'r rhestr dirprwyon HTTP yn darparu ymgeiswyr gwesteiwr a phorth ar gyfer yr opsiynau cais hynny.

Mae adeiladu'r cleient yn bwysig oherwydd gall cymhwysiad neu fframwaith greu a chadw cleient HTTP cyn i'r cod hwn redeg. Archwiliwch y gwir achos a ddefnyddiwyd yn y cais a fethodd yn lle adeiladu cleient arall wedyn a thybio ei fod yn esbonio'r cyntaf.

Ar gyfer diagnosis, cofnodwch y backend gweithredol a fersiwn ei lyfrgell sylfaenol gyda'r cam a fethodd. Gwahaniaethwch opsiwn cais heb ei gefnogi oddi wrth amser goramser rhwydwaith ac oddi wrth ymateb HTTP a ddychwelwyd gan y dirprwy. Mae'r arsylwadau hynny'n arwain at welliannau gwahanol.

Erthyglau cysylltiedig