我尝试使用QNetworkAccessManager
像chrome浏览器一样保存服务器cookie,我跟随一些文章并编写了下面的演示
代码:
from PyQt5.QtCore import *
from PyQt5.QtNetwork import *
class NetworkManager:
def __init__(self):
self.nam = QNetworkAccessManager()
self.nam.setAutoDeleteReplies(True)
self.nam.finished.connect(self.on_finished)
self.cookieJar = QNetworkCookieJar()
self.nam.setCookieJar(self.cookieJar)
def on_finished(self, reply: QNetworkReply):
if reply.error() == QNetworkReply.NoError:
data = reply.readAll()
cookies = reply.header(QNetworkRequest.SetCookieHeader)
if cookies is not None:
self.cookieJar.setCookiesFromUrl(cookies, reply.url())
print(self.nam.cookieJar().allCookies())
app = QCoreApplication([])
nm = NetworkManager()
url = 'sampleurl'
req = QNetworkRequest(QUrl(url))
nm.nam.post(req, b'name=cc&qq=123')
app.exec()
问题是我保存了服务器cookie并尝试请求相同的url或其他url,我发现请求头没有set-cookie
头,我是否使用了错误的方法
目前没有回答
相关问题 更多 >
编程相关推荐