6

サーバーにリクエストを送信した後

    br.open('http://xxxx')
    br.select_form(nr=0)   
    br.form['MESSAGE'] = '1 2 3 4 5'
    br.submit()

set-cookieを持つ応答タイトルを取得します

Set-Cookie: PON=xxx.xxx.xxx.111; expires=Tue, 17-Mar-2015 00:00:00 GMT; path=/

mechanizeはcookieを思い出せないようですので、brにcookieを設定したいと思います。どうすればいいですか?

    cj = mechanize....?
    br.set_cookiejar(cj)

何も思いつきません。助けてください

4

5 に答える 5

5

これはあなたが望むことをするべきだと思います:

import Cookie
import cookielib
cookiejar =cookielib.LWPCookieJar()

br = mechanize.Browser()
br.set_cookiejar(cookiejar)
cookie = cookielib.Cookie(version=0, name='PON', value="xxx.xxx.xxx.111", expires=365, port=None, port_specified=False, domain='xxxx', domain_specified=True, domain_initial_dot=False, path='/', path_specified=True, secure=True, discard=False, comment=None, comment_url=None, rest={'HttpOnly': False}, rfc2109=False)
cookiejar.set_cookie(cookie)
于 2013-12-08T02:55:24.680 に答える
4

mechanize のブラウザ クラスの addheaders メソッドを使用して、既存の Cookie を手動で追加することもできます。

br.addheaders = [('Cookie','cookiename=cookie value')]
于 2015-06-02T14:34:17.233 に答える
1
import mechanize
import cookielib

br = mechanize.Browser()
cj = cookielib.CookieJar()
br.set_cookiejar(cj)
于 2013-03-17T10:06:33.923 に答える
0

関数を使用して、より良い方法で Cookie を追加できset_simple_cookieます。

あなたのクッキーがjsonにあることを考えると、

{
    "domain": ".example.com",
    "expirationDate": 1651137273.706626,
    "hostOnly": false,
    "httpOnly": true,
    "name": "SecureExampleId",
    "path": "/",
    "sameSite": "strict",
    "secure": true,
    "session": false,
    "storeId": null,
    "value": "v%3D2%26mac%..."

}
            
import http.cookiejar

cookiejar = http.cookiejar.LWPCookieJar()
br.set_cookiejar(cookiejar)

br.set_simple_cookie(cookie['name'], cookie['value'], cookie['domain'], cookie['path'])

response = br.open(url)
print(cookiejar._cookies)
于 2021-04-28T10:56:02.443 に答える