Trowch URL procsi HTTP yn bwynt terfyn Twisted
Dadsoddwch URL procsi HTTP confensiynol yn westeiwr a phorth yn hytrach na'i basio fel gramadeg disgrifiad pwynt terfyn Twisted.
Mae gwerth procsi confensiynol fel http://proxy.example:8080 yn URL. Mae clientFromString Twisted yn derbyn disgrifiad pwynt terfyn, fel tcp:host=proxy.example:port=8080. Mae'r ddau linyn yn disgrifio gwybodaeth gysylltiedig â gramadegau gwahanol.
Os yw'r cymhwysiad yn derbyn URL procsi HTTP confensiynol, dadsoddwch ef cyn creu'r pwynt terfyn:
import os
from urllib.parse import urlsplit
from twisted.internet.endpoints import HostnameEndpoint
from twisted.web.client import ProxyAgent
proxy = urlsplit(os.environ['http_proxy'])
if proxy.scheme != 'http' or not proxy.hostname:
raise ValueError('Expected an HTTP proxy URL')
port = proxy.port if proxy.port is not None else 80
endpoint = HostnameEndpoint(reactor, proxy.hostname, port, timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)
Mae'r darn yn tybio bod gan y cymhwysiad ei adweithydd yn barod. Nodwch borth procsi go iawn yn y ffurfweddiad pan nad yw'n rhagosodiad yr URL HTTP. Mae'r rhestr procsi HTTP yn cynnig ymgeiswyr pwynt terfyn ar gyfer cais HTTP cyhoeddus a ganiateir heb gyfrif procsi. Mae HostnameEndpoint hefyd yn osgoi mewnosod yr enw gwesteiwr mewn llinyn ffurfweddu arall wedi'i wahanu gan golon.
Mae hyn yn trosi'r mewnbwn llwybro yn unig. Nid yw manylion mewngofnodi sydd wedi'u mewnosod mewn URL yn dod yn bennawd awdurdodi dim ond oherwydd bod y gwesteiwr a'r porth wedi'u dadsodd. Darparwch unrhyw ddilysiad procsi cefnogol sy'n ofynnol trwy drefniant dilysu'r cais. Ar gyfer cyrchfan HTTP plaen a chyfryngwr sy'n cynnig Basic, mae pennawdau cais Basic ProxyAgent yn darparu un trefniant o'r fath.
Mae URL procsi HTTPS angen cysylltiad â'r procsi sy'n gallu TLS. Mae URL SOCKS angen trafod SOCKS. Nid yw'r naill na'r llall yn cael ei weithredu trwy anfon y cynlluniau hynny i drawsnewidiad pwynt terfyn HTTP ProxyAgent plaen.