我正在尝试存储从网站获得的所有 cookie,而不是打印它们。请帮助我让它工作,因为我认为我不存储任何东西,这就是为什么我没有输出任何东西的原因。
我正在谷歌网站上测试这段代码,我很确定一旦你到达那里页面,他们就会存储 cookie。
所以我试图获取所有可用的 cookie 并打印它们。这是代码:
#! /usr/bin/env python2.7
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtNetwork import *
from PyQt4.QtWebKit import *
import sys, os, simplejson, signal
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.tabs = QTabWidget()
self.setCentralWidget(self.tabs)
self.settings = QSettings()
self.numberOfTabs = 0
self.cookies = QNetworkCookieJar()
self.cookies.setAllCookies([QNetworkCookie.parseCookies(c)[0] for c in self.get('cookiejar')])
def put(self, key, value):
self.settings.setValue(key, simplejson.dumps(value))
self.settings.sync()
def get(self, key):
v = self.settings.value(key)
return simplejson.loads(unicode(v.toString()))
def addNewTab(self, url=QUrl('')):
self.numberOfTabs += 1
self.tabs.setCurrentIndex(self.tabs.addTab(Tab(QUrl(url)),'%s'%str(self.numberOfTabs)))
self.setCookies()
return self.tabs.currentWidget()
def setCookies(self):
self.put('cookiejar', [str(c.toRawForm()) for c in self.cookies.allCookies()])
print self.get('cookiejar')
class Tab(QWebView):
def __init__(self, url):
QWebView.__init__(self)
self.load(url)
if __name__ == '__main__':
app = QApplication(sys.argv)
browser = MainWindow()
browser.addNewTab('https://google.com')
browser.show()
if signal.signal(signal.SIGINT, signal.SIG_DFL):
sys.exit(app.exec_())
app.exec_()