Requests ライブラリを使用して、投稿リクエストでCookieを送信しようとしていますが、ドキュメントに基づいて実際にCookieを設定する方法がわかりません。このスクリプトはウィキペディアで使用するためのものであり、送信する必要があるCookieは次の形式です。
enwiki_session=17ab96bd8ffbe8ca58a78657a918558e; path=/; domain=.wikipedia.com; HttpOnly
ただし、requests
ドキュメントのクイックスタートでは、これを唯一の例として示しています。
cookies = dict(cookies_are='working')
このライブラリを使用して上記のようなCookieをエンコードするにはどうすればよいですか? Pythonの標準cookieライブラリで作成し、POSTリクエストとともに送信する必要がありますか?
Requestsの最新リリースでは、単純な辞書からCookieJarsが作成されます。
import requests
cookies = {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'}
r = requests.post('http://wikipedia.org', cookies=cookies)
楽しい :)
前の答えを拡張するために、2つのリクエストをリンクし、最初のリクエストから返されたCookieを2番目のリクエストに送信する場合(たとえば、リクエスト間でセッションを維持する場合)は、次のことができます。
import requests
r1 = requests.post('http://www.yourapp.com/login')
r2 = requests.post('http://www.yourapp.com/somepage',cookies=r1.cookies)