[英]how to set cookie in python mechanize
After sending request to the server向服务器发送请求后
br.open('http://xxxx')
br.select_form(nr=0)
br.form['MESSAGE'] = '1 2 3 4 5'
br.submit()
I get the response title, which has set-cookie我得到了响应标题,它有 set-cookie
Set-Cookie: PON=xxx.xxx.xxx.111; expires=Tue, 17-Mar-2015 00:00:00 GMT; path=/
Because mechanize seems to be not able to remember the cookie, so I want to set cookie for br.因为mechanize好像记不住cookie,所以想给br设置cookie。 How can I do it?
我该怎么做?
cj = mechanize....?
br.set_cookiejar(cj)
I have no idea.我不知道。 Please help
请帮忙
I think that this should do what you want:我认为这应该做你想做的:
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)
您还可以使用 mechanize 浏览器类中的 addheaders 方法手动添加预先存在的 cookie。
br.addheaders = [('Cookie','cookiename=cookie value')]
import mechanize
import cookielib
br = mechanize.Browser()
cj = cookielib.CookieJar()
br.set_cookiejar(cj)
To set a cookie with python mechanize, first grab websites cookies and save them to file "cookies.lwp":要使用 python mechanize 设置 cookie,首先获取网站 cookie 并将它们保存到文件“cookies.lwp”:
import mechanize, cookielib
cj = cookielib.LWPCookieJar()
br = mechanize.Browser()
br.set_cookiejar(cj)
br.open('https://www.somesite.com')
cj.save(filename="cookies.lwp", ignore_discard=False, ignore_expires=False)
You can now set any cookie in "cookies.lwp" to whatever value you want and then load them back into your browser:您现在可以将“cookies.lwp”中的任何 cookie 设置为您想要的任何值,然后将它们加载回您的浏览器:
cj.load(filename="modified_cookies.lwp", ignore_discard=False, ignore_expires=False)
br.set_cookiejar(cj)
br.open('https://www.yoursitehere.com')
for cookie in cj:
print cookie
This video will walk you through it How To Modify Cookies with Python Mechanize该视频将带您了解如何使用 Python Mechanize 修改 Cookie
You can add cookies the better way using the set_simple_cookie
function.您可以使用
set_simple_cookie
函数以更好的方式添加 cookie。
Considering your cookies are in json,考虑到您的 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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.