संक्षेप में, प्रॉक्सी ऐसे सर्वर हैं जो नेटवर्क सेवाओं से जुड़ने वाली बाहरी परत के रूप में काम करते हैं। वे एक कंप्यूटर और उस साइट के लिए मध्य-पुरुषों के रूप में सेवा करते हैं, जहां से एक उपयोगकर्ता जानकारी निकालना चाहता है। उपयोगकर्ता के अनुरोध, सीधे संबंधित साइट पर भेजे जाने के बजाय, पहले प्रॉक्सी को निर्देशित किया जाता है जो तब इसे अंतिम सर्वर पर भेजता है। इसलिए, प्रॉक्सी सर्वर का आईपी पता वह है जिसे साइट उपयोगकर्ता के बजाय बचाती है।
तो, एक प्रॉक्सी का उपयोग क्यों करें?
उदाहरण के लिए, यदि प्रतिबंध या ब्लॉकों के डर के बिना किसी साइट से जानकारी एकत्र करने की आवश्यकता है। एक प्रॉक्सी वास्तविक उपयोगकर्ता के आईपी पते को उनकी वास्तविक डिजिटल पहचान को बदलने में मदद करता है।
एक विशिष्ट देश से एक प्रॉक्सी जहां कोई प्रतिबंध नहीं है, का उपयोग नहीं किया जा सकता है। ऐसा इसलिए है, क्योंकि कुछ देशों में, कुछ कार्यक्रमों और वेबसाइटों तक पहुंच सीमित या अवरुद्ध है।
यदि किसी विशेष साइट पर बड़ी संख्या में अनुरोध भेजे जाते हैं, तो संभावना है कि सिस्टम लोड किया जाएगा। नतीजतन, अवरुद्ध होने का एक बड़ा जोखिम है। एक ही समय में कई प्रॉक्सी का उपयोग करना उपयोगकर्ताओं को विशेष साइट पर अनुरोधों को समान रूप से वितरित करने की अनुमति देता है, इसलिए रुकावट से बचता है।
Requests Python का उपयोग करके HTTP अनुरोध भेजने के लिए लाइब्रेरी है। यह GET और POST अनुरोध करना सरल बनाता है। बिना प्रॉक्सी के Python Requests का उपयोग HTTP अनुरोध भेज सकता है, लेकिन यह गुमनामीता या प्रतिबंधों को दरकिनार नहीं करता है।
Requests इंस्टॉल करने के लिए, बस टर्मिनल में नीचे दिया गया कमांड दर्ज करें:
pip install requests
यह सत्यापित करने के लिए कि आवश्यक लाइब्रेरी ठीक से सेट की गई है, आपको Python विकास वातावरण खोलने और कमांड चलाने की आवश्यकता है:
import requests
print(requests.__version__)
यदि सब कुछ सही ढंग से किया गया है, तो स्क्रिप्ट संस्करण संख्या लौटाएगी।
एक बार जब हम requests लाइब्रेरी इंस्टॉल कर लेते हैं, तो हम HTTP अनुरोध निष्पादित करना शुरू कर सकते हैं। हालांकि, प्रॉक्सी को शामिल करने के लिए, Python में कुछ विन्यास किए जाने चाहिए।
आइए Python में अनुरोधों के लिए प्रॉक्सी को सही ढंग से कॉन्फ़िगर करने के लिए पालन करने के चरणों की जांच करें। हम SOCKS प्रॉक्सी के साथ Python Requests विन्यासों पर अलग से विचार करेंगे।
Python का उपयोग करके प्रॉक्सी सेट करना requests लाइब्रेरी का उपयोग करने वाले उपयोगकर्ताओं के लिए बहुत आसान है। इसके लिए प्रॉक्सी सर्वर के पते को एक डिक्शनरी में पास करना और फिर HTTP अनुरोध करते समय उपयोग करना आवश्यक है।
proxies = {
"http": "http://your-proxy-ip:port",
"https": "http://your-proxy-ip:port",
}
response = requests.get("http://example.com", proxies=proxies)
Python Requests का उपयोग करते समय, प्रॉक्सी प्रमाणीकरण सेट करना आसान है। आइए विवरण पर एक करीबी नज़र डालें।
proxies = {
"http": "http://username:password@your-proxy-ip:port",
"https": "http://username:password@your-proxy-ip:port",
}
response = requests.get("http://example.com", proxies=proxies)
दो नए फ़ील्ड जिन्हें भरने की आवश्यकता है वे हैं:
उन उपयोगकर्ताओं के लिए जिन्हें उच्च स्तर की गुमनामीता की आवश्यकता होती है, या यदि आप भारी प्रतिबंधित साइटों के साथ काम कर रहे हैं, मानक HTTP प्रॉक्सी काम नहीं कर सकते हैं। इस मामले में, SOCKS प्रॉक्सी बेहतर हो सकते हैं।
SOCKS प्रॉक्सी समर्थन को सक्षम करने के लिए, नीचे सूचीबद्ध कमांड का उपयोग करके एक अतिरिक्त लाइब्रेरी को इंस्टॉल करने की आवश्यकता है:
pip install requests[socks]
एक बार जब यह इंस्टॉल हो जाता है, Python Requests आपको SOCKS प्रॉक्सी सेट करने की अनुमति देता है जिसका उपयोग नीचे दिए गए उदाहरण में दिखाया गया है।
import requests
proxies = {
"http": "socks5h://your-proxy-ip:port",
"https": "socks5h://your-proxy-ip:port",
}
response = requests.get("http://example.com", proxies=proxies)
यदि प्रॉक्सी सर्वर को प्रमाणीकरण की आवश्यकता है, तो उन्हें नीचे दिखाए अनुसार शामिल करें।
proxies = {
"http": "socks5h://username:password@your-proxy-ip:port",
"https": "socks5h://username:password@your-proxy-ip:port",
}
जब एक ही प्रॉक्सी के माध्यम से कई अनुरोध किए जा रहे हों, तो प्रत्येक अनुरोध में इसे जोड़ने के बजाय, प्रॉक्सी के साथ Python Requests सत्रों का उपयोग करना अधिक कुशल हो जाता है।
प्रॉक्सी का उपयोग करने का यह तरीका सभी सत्रों में सेटिंग्स को बनाए रखने में मदद करता है। यह कोड को भी सरल बनाता है, प्रदर्शन में सुधार करता है, और सबसे महत्वपूर्ण, कार्यान्वयन को बहुत आसान बनाता है।
एक सत्र बनाना बहुत आसान है, बस requests.Session() में टाइप करें।
निम्नलिखित उदाहरण पर विचार करें:
import requests
# एक सत्र बनाना
session = requests.Session()
session.proxies = {
"http": "http://username:password@your-proxy-ip:port",
"https": "http://username:password@your-proxy-ip:port",
}
# सत्र के माध्यम से अनुरोध
response = session.get("http://example.com")
इस सत्र के भीतर सभी Python अनुरोध बिना किसी अतिरिक्त कॉन्फ़िगरेशन के डिफ़ॉल्ट रूप से सेट प्रॉक्सी का उपयोग करेंगे।
जब आप स्क्रैपिंग उद्देश्यों या स्वचालन के लिए किसी वेबसाइट के साथ सक्रिय रूप से जुड़ रहे हों, तो बार-बार एक ही प्रॉक्सी का उपयोग करने से आपका खाता ब्लॉक हो सकता है। यह कई प्रॉक्सी सर्वर होने पर प्रॉक्सी को घुमाकर प्रबंधनीय है।
निम्नलिखित उदाहरण वेब पेज के साथ प्रत्येक इंटरैक्शन के लिए प्रॉक्सी को घुमाने वाले लूप के कार्यान्वयन को दिखाता है:
import requests
import random
proxies_list = [
"http://username:password@your-proxy-ip[1]:port",
"http://username:password@your-proxy-ip[2]:port",
"http://username:password@your-proxy-ip[3]:port",
]
session = requests.Session()
for _ in range(5):
proxy = random.choice(proxies_list) # बेतरतीब ढंग से एक प्रॉक्सी चुनें
session.proxies = {"http": proxy, "https": proxy}
response = session.get("http://example.com")
print(f"Used proxy: {proxy}")
print(response.status_code)
संक्षेप में, यहां कुछ सुझाव दिए गए हैं जो आपको प्रॉक्सी को बेहतर ढंग से प्रबंधित करने में मदद कर सकते हैं:
इस लेख में, हमने प्रॉक्सी सर्वर क्या हैं, Python Requests में प्रॉक्सी का उपयोग कैसे ठीक से करें, और कोड को सरल बनाने के लिए सत्रों के माध्यम से प्रॉक्सी का प्रबंधन कैसे करें, इस पर चर्चा की है। उदाहरण में SOCKS और नियमित प्रॉक्सी दोनों के उपयोग, प्रमाणीकरण कैसे संभाला जाता है, और प्रॉक्सी प्रबंधन भी दिखाया गया है।
टिप्पणियाँ: 0