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)
لوپ بیک اینڈپوائنٹ کو اپنی چلتی پراکسی یا اس درخواست سے جانچنے والے 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 کی طے شدہ قدریں اور ہر درخواست کی اووررائڈ کیسے مل کر کام کریں؛ کنکشن کا دوبارہ استعمال اور راستہ پالیسی الگ انتخاب ہیں۔