値を持つCookieを作成するWebページにアクセスしています。この値を変更して、同じWebサイトから別のページにアクセスします。Pythonリクエスト既存のCookieの値を変更する適切な方法は何ですか?
[74]: s.cookies.set('my_cookie','new_value')
Out[74]: Cookie(version=0, name='my_cookie', value='new_value', port=None, port_specified=False, domain='/mydomain.lol', domain_specified=False, domain_initial_dot=False, path='/my_path', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)
が、お返しに、私は
を得た: sが最初に私が要求していくつかのことを試してみましたs = requests.Session()
In [63]: s.cookies
Out[63]: <RequestsCookieJar[Cookie(version=0, name='my_cookie', value='normal_value', port=None, port_specified=False, domain='my_domain.lol', domain_specified=False, domain_initial_dot=False, path='/my_path', path_specified=False, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={}, rfc2109=False)]>
で開かれたセッションで、次のとおりです。Pythonで 使用librequestsは、私は、次のクッキーを得ました
In [75]: s.cookies
Out[75]: <RequestsCookieJar[Cookie(version=0, name='my_cookie', value='new_value', port=None, port_specified=False, domain='/mydomain.lol', domain_specified=False, domain_initial_dot=False, path='/my_path', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False),
Cookie(version=0, name='my_cookie', value='new_value', port=None, port_specified=False, domain='mydomain.lol', domain_specified=False, domain_initial_dot=False, path='/my_path', path_specified=False, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={}, rfc2109=False)]>
ご覧のとおり、私の新しい価値は古いものを置き換えず、新しいクッキーを作成しました。同じ結果が得られました使用:
s.cookies['my_cookie'] = 'new_value'
が、私はその後、私は私のクッキーを設定することができたときに限り多くのことを指定しようと、それが働いた:
In [67]: s.cookies.set('my_cookie','new_value',domain='mydomain.lol',path='/my_path')
Out[67]: Cookie(version=0, name='my_cookie', value='new_value', port=None, port_specified=False, domain='mydomain.lol', domain_specified=True, domain_initial_dot=False, path='/my_path', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)
In [68]: s.cookies
Out[68]: <RequestsCookieJar[Cookie(version=0, name='my_cookie', value='new_value', port=None, port_specified=False, domain='mydomain.lol', domain_specified=True, domain_initial_dot=False, path='/my_path', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)]>
したがって私の質問に、クッキーを設定するよりとても便利な方法はありませんあまりにも多くのことを指定することなく?たとえば、私の配列の最初のクッキーを取得することによって?あなたが最初にNoneに値を設定することができます
コードのフォーマットは、その偉大に見えない、それを改善する方法はありますか? – aze