我正在嘗試使用python向需要cookie的RSS提要發送請求。我認爲使用urllib2並添加適當的標題就足夠了,但請求仍然說不真實。urllib2與餅乾
我猜這可能是遠程站點的問題,但無法確定。如何使用urllib2和cookie?有沒有更好的軟件包這一(如httplib的,機械化,捲曲)
我正在嘗試使用python向需要cookie的RSS提要發送請求。我認爲使用urllib2並添加適當的標題就足夠了,但請求仍然說不真實。urllib2與餅乾
我猜這可能是遠程站點的問題,但無法確定。如何使用urllib2和cookie?有沒有更好的軟件包這一(如httplib的,機械化,捲曲)
import urllib2
opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'cookiename=cookievalue'))
f = opener.open("http://example.com/")
我會用requests包,docs,這是一個更容易比urlib2(理智API)來使用。
如果響應包含一些餅乾,您可以快速訪問它們:
url = 'http://httpbin.org/cookies/set/requests-is/awesome'
r = requests.get(url)
print r.cookies #{'requests-is': 'awesome'}
要發送您自己的cookie到服務器,你可以使用的cookies參數:
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
請求絕對好得多,但是您可以做[類似於第一個使用內置urllib2和cookielib的示例] (http://docs.python.org/library/cookielib.html#examples),如果必須的話 – dbr 2012-01-04 22:38:15
如果你只想知道如何設置一個cookie,[這個問題](http://stackoverflow.com/questions/3334809/python-urllib2-how-to-send-cookie-with-urlopen-request )提供了一個swer。 – 2012-01-04 22:32:30
感謝您的鏈接。我檢查了它,並且以相同的方式設置了cookie(對於每個使用的lib略有不同),但仍然沒有運氣 – neolaser 2012-01-04 22:58:53