qtwebview设置cookie

在Python项目中,通过qtwebview展示自动登录后的网页,利用requests完成登录并转换cookies为QNetworkCookie,设置domain后使用QNetworkCookieJar的setAllCookies方法将cookies应用到qtwebview。
摘要由CSDN通过智能技术生成

qtwebview访问设置cookies后的网页

因为在python项目中需要用到浏览器显示自动登录后的网页,调用系统浏览器的话暂时没找到什么好的解决方法,这里利用qt的webview来实现浏览器展示登录后的网页。

我是用requests进行自动登录的,看了下文档可以通过webview->page()->networkAccessManager()->setCookieJar(QNetworkCookieJar)方法设置cookie
,从requests中获取到的是RequestsCookieJar对象,去看了它的文档就可以知道如何转化成字典:
requests.utils.dict_from_cookiejar(requests.cookies)

得到字典格式的cookies后可以转化成QNetworkCookie的形式了,
注意还需要设置cookie的domain,domin代表cookie生效的网站。

for key, values in my_cookie_dict.items():
    my_cookie = QNetworkCookie(QByteArray(key), QByteArray(values))
    my_cookie.setDomain('.baidu.com')
    cookies.append(my_cookie)

QNetworkCookieJar中有个setAllCookies方法的参数要求是QNetworkCookie列表

示例代码:

from PyQt4.QtGui import QApplication
from PyQt4.QtWebKit import QWebView
from PyQt4.QtCore import QUrl, QByteArray
from PyQt4.QtNetwo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值