Python Requests-д прокси IP ашиглах
Requests-д хүсэлт тус бүрийн прокси замыг тодорхой зааж, төгсгөлийн цэгийн зөв схемийг сонгон, хугацаа хэтрэлт болон HTTPS туннелийн алдааг боловсруулна.
Төсөлд Requests байгаа бол дуудлагад проксийн зураглал дамжуул:
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)
Loopback төгсгөлийн цэгийг ажиллаж буй прокси эсвэл энэ хүсэлтээр шалгах HTTP проксийн жагсаалтын нэр дэвшигчээр соль. Түлхүүрүүд зорьсон хаягийн схемийг заана: HTTP URL-д http, HTTPS URL-д https. Утгууд проксийн сонсогчийг заана. Сүлжээ тусдаа зам шаардвал өөр төгсгөлийн цэгүүд байж болно.
http:// прокси утгыг https түлхүүрийн доор тавих нь зориудынх. Requests HTTP сонсогчоос CONNECT туннель хүсээд дараа нь түүнээр зорьсон сервертэй TLS байгуулна, проксийн очих газар болон портын бодлогын хүрээнд. Утгыг https:// болгосноор прокси өөртэй нь TLS хүснэ; сонсогч шифрлээгүй HTTP хүлээвэл бүтэлгүйтэж болно.
Хугацааны хоёр тоо юу гэсэн үг вэ?
timeout=(5, 15) нь холболт болон унших хугацааны хязгаарыг тогтооно. Нийт арван таван секундийн эцсийн хугацаа тавихгүй. Тогтмол ирэх өгөгдөл, олон хаяг болон холболтын оролдлого нь нийт хугацааг уртасгаж болно. Тохиргоог орхивол Requests ерөнхий хугацааны хязгаар өгөхгүй. Хариунд тохирох хязгаар сонгож, ажилд хатуу нийт хугацаа хэрэгтэй бол програмын түвшний эцсийн хугацаа нэм.
Алдааг гарсан үе шатанд нь боловсруул
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)
Татгалзсан CONNECT нь зорьсон серверийн хариу ирэхээс өмнө ProxyError үүсгэж болно. HTTPError салаа нь алдааны төлөвтэй хариу хүлээн авсны дараа орно; Timeout тохируулсан хязгаар дууссаныг илтгэнэ. Холболт байгуулах онцгой тохиолдлын гинжийг өөрийн компьютерт шалгаж, хуваалцахын өмнө нэвтрэх мэдээлэлтэй төгсгөлийн цэг болон хувийн URL-ийг арилга.
Гэрчилгээний баталгаажуулалтыг асаалттай байлга. Зөвшөөрөгдсөн сүлжээ хувийн CA эсвэл удирдлагатай таслан авах ажиллагаа ашигладаг бол баталгаажуулалтыг унтраахын оронд хүлээгдсэн итгэмжлэлийн материалыг өг.
Хүсэлт тус бүрийн тодорхой бичлэг нь энд өгсөн замыг удирдана. Гэхдээ орхигдсон схемд орчноос прокси илрүүлэх үйлдэл нөлөөлж болно. Дуудлагыг дахин ашиглах Session-д шилжүүлэхдээ орчны хувьсагч, Session-ийн анхдагч утга болон хүсэлт бүрийн дарж тохируулах утга хэрхэн харилцахыг шийд; холболт дахин ашиглах болон замын бодлого тусдаа сонголт юм.