Python गाइड · 2 मिनट पढ़ें

Python अनुरोधों के साथ प्रॉक्सियों का उपयोग कैसे करें

अनुरोध पुस्तकालय एक छोटे से शब्दकोश के साथ प्रॉक्सी के माध्यम से ट्रैफ़िक को रूट करता है - लेकिन आप जो योजना चुनते हैं वह तय करती है कि आपका DNS और मूल IP छिपा रहता है या नहीं। यहाँ व्यावहारिक संस्करण है, जिसमें पूरा चलने योग्य कोड है।

प्रॉक्सी डिक्ट और योजना का महत्व

Python की requests लाइब्रेरी एकल शब्दकोश के माध्यम से एक प्रॉक्सी से बात करती है। कुंजी प्रॉक्सी के प्रोटोकॉल नहीं हैं - वे लक्ष्य URL की योजना हैं। इसलिए {"http": ..., "https": ...} requests को बताता है कि HTTP या HTTPS साइट के लिए किस प्रॉक्सी का उपयोग करना है, और व्यावहारिक रूप से दोनों कुंजी एक ही एंडपॉइंट की ओर इशारा करती हैं।

आपकी गोपनीयता को वास्तव में बदलने वाली योजना के अंदर प्रॉक्सी URL है। socks5:// आपके अपने मशीन पहले DNS को हल करता है और फिर प्रॉक्सी के माध्यम से कनेक्ट होता है, जो आपके द्वारा देखे जाने वाले होस्टनाम को लीक कर सकता है। socks5h:// के साथ प्रॉक्सी आपके लिए DNS को हल करता है, इसलिए लक्षित होस्टनाम कभी भी आपकी मशीन से स्पष्ट रूप से बाहर नहीं जाता। एक प्रमाणित s4m.online प्रॉक्सी के लिए, DNS को दूर रखने और बेहतर आपका मूल IP छिपाने के लिए socks5h को प्राथमिकता दें।

प्रॉक्सी योजनाDNS द्वारा हल किया गयापोर्टस्थापित करें
socks5h://प्रॉक्सी (दूरस्थ)1080requests[socks]
socks5://आपकी मशीन (स्थानीय)1080requests[socks]
http://प्रॉक्सी3128स्टॉक अनुरोध

SOCKS समर्थन के लिए PySocks की आवश्यकता है (pip install "requests[socks]"); HTTP एंडपॉइंट स्टॉक इंस्टॉलेशन के साथ काम करता है। s4m प्रॉक्सियाँ डेटासेंटर SOCKS5 और HTTP हैं, जो प्रति गीगाबाइट बिल की जाती हैं - देखें मूल्य निर्धारण। यदि आपको केवल त्वरित परीक्षणों के लिए फेंकने योग्य एंडपॉइंट की आवश्यकता है, तो मुफ्त सार्वजनिक प्रॉक्सी सूची एक अलग, तीसरे पक्ष का पूल है (अपने जोखिम पर उपयोग करें)। पूर्ण टनल और प्रॉक्सी के बीच चयन कर रहे हैं? तुलना, VPN अवलोकन, या अधिक गाइड्स पढ़ें।

पूर्ण चलने योग्य उदाहरण

USER:PASS को अपने प्रॉक्सी क्रेडेंशियल्स से बदलें। यह आपके एग्जिट IP की जांच करता है, एक सत्र का पुनः उपयोग करता है, फिर समय सीमाओं और पुनः प्रयासों के साथ एक छोटे पूल में घूमता है।

python
import random
import requests
from requests.exceptions import RequestException

# --- Credentials & endpoints (replace with your s4m.online proxy user) ---
USER = "USER"
PASS = "PASS"
HOST = "proxy.s4m.online"

# SOCKS5 with REMOTE DNS (socks5h) — needs: pip install "requests[socks]"
SOCKS5 = f"socks5h://{USER}:{PASS}@{HOST}:1080"
# Plain HTTP CONNECT proxy — works with a stock requests install
HTTP   = f"http://{USER}:{PASS}@{HOST}:3128"

def proxies_for(proxy_url):
    # The "http"/"https" keys are the scheme of the TARGET url,
    # not the proxy's protocol — both can point at one proxy.
    return {"http": proxy_url, "https": proxy_url}

def check_ip(session, proxy):
    r = session.get(
        "https://api.ipify.org?format=json",
        proxies=proxies_for(proxy),
        timeout=(5, 15),   # (connect, read) seconds
    )
    r.raise_for_status()
    return r.json()["ip"]

# --- Per-session config: pools connections, keeps cookies/headers ---
with requests.Session() as s:
    s.headers.update({"User-Agent": "s4m-example/1.0"})
    print("Exit IP:", check_ip(s, SOCKS5))

# --- Rotate across a list, retrying on failure ---
POOL = [SOCKS5, HTTP]

def fetch(url, retries=3):
    last_err = None
    for attempt in range(1, retries + 1):
        proxy = random.choice(POOL)
        try:
            with requests.Session() as s:
                r = s.get(url, proxies=proxies_for(proxy), timeout=(5, 15))
                r.raise_for_status()
                return r
        except RequestException as e:
            last_err = e
            print(f"[{attempt}/{retries}] {proxy} failed: {e}")
    raise last_err

resp = fetch("https://httpbin.org/ip")
print(resp.json())

प्रति-अनुरोध, प्रति-सेशन, या वैश्विक

प्रति अनुरोध

प्रॉक्सी= को प्रत्येक कॉल में पास करें: requests.get(url, proxies=proxies_for(SOCKS5), timeout=10)। सबसे स्पष्ट रूप, और कॉल-दर-कॉल आधार पर स्वैप या घुमाने के लिए सबसे आसान।

प्रति सत्र

इसे एक बार सेट करें session.proxies = proxies_for(SOCKS5) के साथ। उस सत्र के माध्यम से किए गए हर अनुरोध को प्रॉक्सी विरासत में मिलती है और TCP कनेक्शनों का पुन: उपयोग करती है, जो हर बार एक ताज़ा get() से तेज़ है।

पर्यावरण के माध्यम से वैश्विक

अनुरोध HTTP_PROXY, HTTPS_PROXY और ALL_PROXY का सम्मान करते हैं। ALL_PROXY=socks5h://USER:PASS@proxy.s4m.online:1080 निर्यात करें और हर अनुरोध बिना कोड परिवर्तन के रूट किया जाता है। होस्ट को बाहर करने के लिए NO_PROXY का उपयोग करें, या पर्यावरण को अनदेखा करने के लिए एक सत्र पर trust_env=False का उपयोग करें।

वे चीजें जो लोगों को उलझा देती हैं

प्रमाणन URL में जाता है

USER:PASS@ को सीधे प्रॉक्सी URL में डालें और अनुरोध आपके लिए क्रेडेंशियल्स भेजता है। यदि आपका पासवर्ड @, : या / वर्णों को शामिल करता है, तो पहले इसे urllib.parse.quote के साथ URL-एन्कोड करें।

DNS को दूर रखें

socks5 आपके मशीन पर होस्टनेम को हल करता है; socks5h उन्हें प्रॉक्सी पर हल करता है। जब लक्ष्य यह है कि आपकी लुकअप और मूल IP को लक्ष्य के रडार से दूर रखना है, तो socks5h का उपयोग करें।

एक सत्र का पुन: उपयोग करें

एक requests.Session कनेक्शनों को पूल करता है और कुकीज़ को बनाए रखता है, इसलिए एक प्रॉक्सी के माध्यम से अनुरोधों का एक विस्फोट हर बार requests.get() को ठंडा करने की तुलना में स्पष्ट रूप से तेज होता है।

TLS सत्यापन चालू रखें

एक प्रॉक्सी केवल आपके ट्रैफ़िक को अग्रेषित करती है — यह verify=False सेट करने का कोई कारण नहीं है। एक मध्यस्थ HTTPS प्रतिक्रियाओं के साथ चुपचाप छेड़छाड़ नहीं कर सके, इसके लिए प्रमाणपत्र सत्यापन सक्षम रखें।

FAQ

प्रश्न, उत्तरित

क्या SOCKS5 प्रॉक्सी को एक अतिरिक्त पैकेज की आवश्यकता है?

हाँ। requests को SOCKS समर्थन के लिए PySocks की आवश्यकता है: इसे pip install "requests[socks]" के साथ स्थापित करें। पोर्ट 3128 पर HTTP एंडपॉइंट एक स्टॉक requests इंस्टॉल के साथ काम करता है और कोई अतिरिक्त निर्भरता नहीं है।

socks5 और socks5h के बीच क्या अंतर है?

यह इस बारे में है कि DNS कहाँ हल किया जाता है। socks5:// आपके अपने मशीन पर लक्षित होस्टनाम को कनेक्ट करने से पहले हल करता है; socks5h:// प्रॉक्सी से इसे हल करने के लिए कहता है। होस्टनाम लीक होने से बचने के लिए socks5h का उपयोग करें।

जब मैं रोटेट करता हूँ तो मेरा निकासी IP क्यों नहीं बदल रहा है?

आमतौर पर प्रॉक्सियों का शब्दकोश वास्तव में लागू नहीं हो रहा है, या एकल सत्र एक अपस्ट्रीम कनेक्शन का पुन: उपयोग कर रहा है। पुष्टि करें कि प्रत्येक अनुरोध प्रॉक्सी= के माध्यम से गुजरता है, घुमाते समय प्रत्येक प्रॉक्सी के लिए एक नया सत्र बनाएं, और सत्यापित करने के लिए एक IP-इको एंडपॉइंट से प्रतिक्रिया प्रिंट करें।

क्या ये आवासीय IP हैं?

नहीं। s4m प्रॉक्सियाँ डेटा सेंटर SOCKS5 और HTTP एंडपॉइंट हैं, जो उपयोगकर्ता नाम और पासवर्ड के साथ प्रमाणित हैं और प्रति गीगाबाइट मापी जाती हैं। अलग मुफ्त सार्वजनिक प्रॉक्सी सूची तीसरे पक्ष की है और उत्पादन उपयोग के लिए अप्रमाणित है।

मैं सूची में एक मृत प्रॉक्सी को कैसे छोड़ूं?

प्रत्येक प्रयास को try/except requests.exceptions.RequestException में लपेटें, फिर अपने पूल से अगले प्रॉक्सी के साथ पुनः प्रयास करें। ऊपर दिया गया चलने योग्य उदाहरण ठीक यही करता है एक छोटे पुनः प्रयास लूप के साथ।

आपके मूल IP को छिपाने के लिए बनाए गए प्रॉक्सी

प्रमाणित डेटा सेंटर SOCKS5 और HTTP प्रॉक्सियां, मीटर के अनुसार भुगतान, एक वैकल्पिक समर्पित व्यक्तिगत IP के साथ। proxy.s4m.online पर अनुरोध भेजें और आगे बढ़ें।

लोगों ने इस पृष्ठ को खोजकर पाया

वास्तविक खोज वाक्यांश जिनका यह पृष्ठ उत्तर देता है — लिंक किए गए वाक्यांश उस पृष्ठ को खोलते हैं जो उन्हें गहराई से कवर करता है।