Nota proxy-IP í Python Requests
Stilltu skýrar milliþjónaleiðir fyrir hverja beiðni í Requests, veldu rétt slóðarsnið endapunkts og meðhöndlaðu tímamörk og bilanir í HTTPS-göngum.
Þegar Requests er tiltækt í verkefninu skaltu senda vörpun milliþjóna með kallinu:
import requests
proxies = {
"http": "http://127.0.0.1:8080",
"https": "http://127.0.0.1:8080",
}
response = requests.get(
"https://example.com/",
proxies=proxies,
timeout=(5, 15),
)
response.raise_for_status()
print(response.status_code)
Skiptu loopback-endapunktinum út fyrir virkan milliþjón þinn eða kost úr listanum yfir HTTP-milliþjóna sem þú prófar með þessari beiðni. Lyklarnir lýsa slóðarsniðum áfangastaðar: http fyrir HTTP-slóðir og https fyrir HTTPS-slóðir. Gildin lýsa hlustara milliþjónsins. Þau geta verið ólíkir endapunktar ef netið krefst aðskildra leiða.
Gildi milliþjóns http:// undir lyklinum https er viljandi. Requests biður HTTP-hlustarann um CONNECT-göng og kemur síðan á TLS við áfangastaðinn í gegnum þau, samkvæmt stefnu milliþjónsins um áfangastaði og tengi. Að breyta gildinu í https:// biður um TLS við sjálfan milliþjóninn; það getur mistekist ef hlustarinn býst við ódulkóðuðu HTTP.
Hvað tvær tölur tímamarkanna merkja
timeout=(5, 15) stillir tímamörk tengingar og lesturs. Það setur ekki fimmtán sekúndna heildarfrest. Gögn sem berast reglulega, mörg vistföng og tengitilraunir geta lengt liðinn tíma. Requests gefur engin almenn tímamörk ef stillingunni er sleppt. Veldu mörk sem hæfa svarinu og bættu við fresti á forritsstigi ef verkið þarf strangt heildartímabil.
Meðhöndlaðu bilunina á því stigi sem hún verður
try:
response = requests.get(
"https://example.com/",
proxies=proxies,
timeout=(5, 15),
)
response.raise_for_status()
except requests.exceptions.ProxyError as error:
print("Proxy setup failed:", type(error).__name__)
except requests.exceptions.Timeout:
print("A configured timeout expired")
except requests.exceptions.HTTPError as error:
print("HTTP status:", error.response.status_code)
Hafnað CONNECT getur valdið ProxyError áður en svar frá áfangastað liggur fyrir. Greinin HTTPError kemur eftir móttekið svar með villustöðu; Timeout merkir að stillt tímamark er útrunnið. Skoðaðu undantekningakeðjur tengiuppsetningar á eigin tölvu og fjarlægðu endapunkta með auðkennisupplýsingum og einkaslóðir áður en þú deilir þeim.
Haltu vottorðaprófun virkri. Ef heimilaða netið notar einkarekna CA eða stýrða hlerun skaltu leggja fram væntanlegt traustefni í stað þess að slökkva á prófun.
Skýrar færslur fyrir hverja beiðni stýra leiðunum sem gefnar eru hér, en sleppt slóðarsnið geta enn orðið fyrir áhrifum af proxy-leit í umhverfinu. Þegar kallið er flutt í endurnýtanlega Session skaltu ákveða hvernig umhverfisbreytur, sjálfgefin Session-gildi og yfirskriftir hverrar beiðni vinna saman; endurnýting tenginga og leiðarstefna eru aðskildir valkostir.