2012-01-04 20 views
6

मैं एक आरएसएस फ़ीड के लिए अनुरोध करने की कोशिश कर रहा हूं जिसके लिए पाइथन का उपयोग करके कुकी की आवश्यकता होती है। मैंने सोचा कि urllib2 का उपयोग करना और उचित शीर्षक जोड़ना पर्याप्त होगा, लेकिन अनुरोध अनौपचारिक कहता रहता है।कुकीज़ के साथ urllib2

मुझे लगता है कि यह दूरस्थ साइटों की तरफ एक समस्या हो सकती है, लेकिन यह सुनिश्चित नहीं था। मैं कुकीज़ के साथ urllib2 का उपयोग कैसे करूं? यह urlib2 (समझदार एपीआई) की तुलना में उपयोग करने के लिए एक बहुत आसान है कि इस के लिए एक बेहतर पैकेज (httplib, मशीनीकरण की तरह, कर्ल)

+0

यदि आप जानना चाहते हैं कि कुकी कैसे सेट करें, [यह प्रश्न] (http://stackoverflow.com/questions/3334809/python-urllib2-how-to-send-cookie-with-urlopen-request) एक प्रदान करता है Swer। –

+0

लिंक के लिए धन्यवाद। मैंने इसे चेक आउट किया है और मैं कुकीज़ को उसी तरह से सेट कर रहा हूं (प्रत्येक lib का उपयोग करने के लिए थोड़ा अलग) लेकिन अभी भी कोई भाग्य – neolaser

उत्तर

5
import urllib2 
opener = urllib2.build_opener() 
opener.addheaders.append(('Cookie', 'cookiename=cookievalue')) 
f = opener.open("http://example.com/") 
13

मैं requests पैकेज, docs का प्रयोग करेंगे है।

एक प्रतिक्रिया कुछ कुकीज़ शामिल है, तो आप उन्हें के लिए त्वरित पहुँच प्राप्त कर सकते हैं:

url = 'http://httpbin.org/cookies' 
cookies = dict(cookies_are='working') 
r = requests.get(url, cookies=cookies) 
r.content # '{"cookies": {"cookies_are": "working"}}' 

http://docs.python-requests.org/en/latest/user/quickstart/#cookies:

url = 'http://httpbin.org/cookies/set/requests-is/awesome' 
r = requests.get(url) 
print r.cookies #{'requests-is': 'awesome'} 

सर्वर से अपनी खुद की कुकीज़ भेजने के लिए, आप कुकीज़ पैरामीटर का उपयोग कर सकते हैं

+6

अनुरोध निश्चित रूप से बहुत अच्छा है, लेकिन आप ऐसा कर सकते हैं [बिल्टिन urllib2 और cookielib के साथ आपके पहले उदाहरण के समान कुछ] (http://docs.python.org/library/cookielib.html#examples), अगर आपको करना है – dbr