2015-06-15 9 views
9

मैं http अनुरोध भेजने के लिए पायथन अनुरोध पैकेज का उपयोग कर रहा हूं। मैं अनुरोध सत्र ऑब्जेक्ट में एक प्रॉक्सी जोड़ना चाहता हूं। जैसे।मैं अनुरोध सत्र ऑब्जेक्ट के लिए एक प्रॉक्सी कैसे सेट कर सकता हूं?

session = requests.Session() 
session.proxies = {...} # Here I want to add a single proxy 

वर्तमान में मैं प्रॉक्सी के एक झुंड के माध्यम से पाशन कर रहा हूँ, और प्रत्येक यात्रा पर एक नया सत्र किया जाता है। मैं केवल प्रत्येक पुनरावृत्ति के लिए एक प्रॉक्सी सेट करना चाहता हूं।

केवल उदाहरण मैं प्रलेखन में देखते हैं:

proxies = { 
    "http": "http://10.10.1.10:3128", 
    "https": "http://10.10.1.10:1080", 
} 

requests.get("http://example.org", proxies=proxies) 

मैं इस का पालन करने की कोशिश की है, लेकिन कोई लाभ नहीं हुआ। यहाँ स्क्रिप्ट से मेरी कोड है:

# eg. line = 59.43.102.33:80 
r = s.get('http://icanhazip.com', proxies={'http': 'http://' + line}) 

लेकिन मैं कोई त्रुटि मिलती है:

requests.packages.urllib3.exceptions.LocationParseError: Failed to parse 59.43.102.33:80 

यह कैसे एक सत्र वस्तु पर एक भी प्रॉक्सी सेट करने के लिए संभव है?

उत्तर

6

वास्तव में, आप ठीक कह रहे हैं, लेकिन आप 'लाइन' के अपने defination यह सुनिश्चित करना चाहिए, मैं इस की कोशिश की है, यह ठीक है:

>>> import requests 
>>> s = requests.Session() 
>>> s.get("http://www.baidu.com", proxies={'http': 'http://10.11.4.254:3128'}) 
<Response [200]> 

आप line = ' 59.43.102.33:80' की तरह लाइन को परिभाषित किया था, वहाँ पर एक जगह नहीं है पते का सामने

+0

retrived प्रत्येक पंक्ति के आरंभ में एक स्थान नहीं है। यह हमेशा सबसे सरल चीजें हैं जो मुझे सबसे ज्यादा पसंद करती हैं। धन्यवाद :) – Torra

28

इसके अलावा, 'जवाब @neowu यदि आप एक सत्र वस्तु के जीवन भर के लिए एक प्रॉक्सी सेट करना चाहते हैं, तो आप भी ऐसा कर सकते हैं निम्नलिखित -

import requests 
proxies = {'http': 'http://10.11.4.254:3128'} 
s = requests.session() 
s.proxies.update(proxies) 
s.get("http://www.example.com") # Here the proxies will also be automatically used because we have attached those to the session object, so no need to pass separately in each call 
+1

यह करने के लिए यह एक बेहतर तरीका है। – BugHunterUK

+0

धन्यवाद @BugHunterUK –

+0

बहुत धन्यवाद! यह मेरे लिए बेहतर प्रतिक्रिया है। सभी अगले अनुरोधों में प्रॉक्सी का प्रयोग करें –

संबंधित मुद्दे

 संबंधित मुद्दे