दिलचस्प पोस्ट
क्या जावा में अंतिम कीवर्ड का उपयोग प्रदर्शन में सुधार करता है? रेल में एक ही फ़ॉर्म के लिए एकाधिक सबमिट बटन कैसे बनाऊँ? अद्वितीय (गैर दोहराए जाने) वर्णों के साथ एक शब्द से मेल करने के लिए regex अजगर में एक साइट पिंग? स्विफ्ट का उपयोग करते हुए अपेक्षित घोषणा त्रुटि Web.config में ऐप सेटिंग एन्क्रिप्ट करना Regex & PHP – आईएमजी टैग से src विशेषता को अलग करें WebSockets और अपाचे प्रॉक्सी: mod_proxy_wstunnel को कॉन्फ़िगर कैसे करें? क्रमिक निर्भरताओं को हेल लाइब्रेरी के लिए ग्रेडेल के माध्यम से हल नहीं किया गया पायथन में अनन्य एक्सेस के लिए फ़ाइल खोलने का सबसे अच्छा तरीका क्या है? मैं वर्तमान लाइन संख्या कैसे प्राप्त करूं? कुकीज़ या स्थानीय भंडारण के बिना उपयोगकर्ता मान्यता क्या यह ठीक है अगर मैं जावा में घुंघराले ब्रेसिज़ को छोड़ूं? कोई प्रतिक्रिया देने से पहले पृष्ठ को प्रदान करने के लिए एक AJAX प्राप्त करने का अनुरोध कैसे प्राप्त करें? निश्चित आकार के कंटेनर को भरने के लिए ऑटो-आकार डायनामिक टेक्स्ट

एक HTTP प्रॉक्सी – पायथन का उपयोग करना

मैं इस तथ्य से परिचित हूं कि मुझे HTTP_RPOXY परिवेश चर को प्रॉक्सी पते पर सेट करना चाहिए।

आम तौर पर urlib ठीक काम करता है, समस्या urllib2 के साथ काम कर रही है

>>> urllib2.urlopen("http://www.google.com").read() 

रिटर्न

 urllib2.URLError: <urlopen error [Errno 10061] No connection could be made because the target machine actively refused it> 

या

 urllib2.URLError: <urlopen error [Errno 11004] getaddrinfo failed> 

अधिक जानकारी:

urllib.urlopen (….) ठीक काम करता है! यह सिर्फ urllib2 है जो गेम चला रहा है …

मैंने फ़ेन्कोस को उत्तर दिया था लेकिन मुझे यह त्रुटि अब मिल रही है:

 URLError: <urlopen error [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond> 

कोई विचार?

वेब के समाधान से एकत्रित समाधान "एक HTTP प्रॉक्सी – पायथन का उपयोग करना"

आप HTTP_PROXY पर्यावरण चर के बिना भी ऐसा कर सकते हैं। इस नमूने का प्रयास करें:

 import urllib2 proxy_support = urllib2.ProxyHandler({"http":"http://61.233.25.166:80"}) opener = urllib2.build_opener(proxy_support) urllib2.install_opener(opener) html = urllib2.urlopen("http://www.google.com").read() print html 

आपके मामले में यह सचमुच लगता है कि प्रॉक्सी सर्वर कनेक्शन को अस्वीकार कर रहा है।


कोशिश करने के लिए कुछ और:

 import urllib2 #proxy = "61.233.25.166:80" proxy = "YOUR_PROXY_GOES_HERE" proxies = {"http":"http://%s" % proxy} url = "http://www.google.com/search?q=test" headers={'User-agent' : 'Mozilla/5.0'} proxy_support = urllib2.ProxyHandler(proxies) opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler(debuglevel=1)) urllib2.install_opener(opener) req = urllib2.Request(url, None, headers) html = urllib2.urlopen(req).read() print html 

2014 को संपादित करें: यह एक लोकप्रिय प्रश्न / उत्तर लगता है हालांकि आज मैं तृतीय पक्ष requests मॉड्यूल का उपयोग इसके बजाय होगा।

एक अनुरोध के लिए बस करते हैं:

 import requests r = requests.get("http://www.google.com", proxies={"http": "http://61.233.25.166:80"}) print(r.text) 

एकाधिक अनुरोधों के लिए Session ऑब्जेक्ट का उपयोग करें ताकि आपको अपने सभी अनुरोधों में proxies पैरामीटर जोड़ना न पड़े:

 import requests s = requests.Session() s.proxies = {"http": "http://61.233.25.166:80"} r = s.get("http://www.google.com") print(r.text) 

मैं सुझाव है कि आप अनुरोध मॉड्यूल का उपयोग करें।

यह एचटीटीपी ग्राहकों में निर्मित की तुलना में ज्यादा आसान है: http://docs.python-requests.org/en/latest/index.html

नमूना उपयोग:

 r = requests.get('http://www.thepage.com', proxies={"http":"http://myproxy:3129"}) thedata = r.content 

बस उल्लेख करना चाहता था, कि आपको https_proxy ओएस पर्यावरण चर भी सेट करना पड़ सकता है अगर https यूआरएल को एक्सेस करने की आवश्यकता है। मेरे मामले में यह मेरे लिए स्पष्ट नहीं था और मैंने इसे खोजने के लिए घंटों तक कोशिश की।

मेरा उपयोग केस: विन 7, जिएथोन-स्टैंडअलोन-2.5.3.jar, setuptools के माध्यम से स्थापना ez_setup.py

पायथन 3:

 import urllib.request htmlsource = urllib.request.FancyURLopener({"http":"http://127.0.0.1:8080"}).open(url).read().decode("utf-8") 

मैं जेथॉन क्लाइंट पर इसका सामना करना पड़ा।
सर्वर केवल टीएलएस और ग्राहक को एसएसएल संदर्भ javax.net.ssl.SSLContext.getInstance ("SSL") का इस्तेमाल कर रहा था।

एक बार ग्राहक टीएलएस के लिए था, चीजें काम करना शुरू कर दिया।