如何使用Qt制作饼干?

2024-10-01 02:28:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我从服务器上得到一个cookie,并尝试使用QNetworkCookie创建它,但当我得到它时,它看起来不同

我从服务器获得的Cookie如下:

PHPSESSID=t2l6v6nrsam9mgenjad6pa56e6;Domain=api.tx1928.com;path=/;Path=/;PHPSESSID=t2l6v6nrhdm9mgenjad6pa56e6;HttpOnly=;rong_im_auth_name=97c8e28aad96e1998cdc8e5fe7adcc65ed346e94c393065c;Max-Age=2592000;rong_im_auth_name=97c8e28aad96e1998cdc8e5fe7adcc65ed346e94c393065c;Expires=Thu, 24 Sep 2020 01:08:31 GMT;

我尝试使用QNetworkCookie.parseCookies方法来解析它,然后使用QNetworkCookieJar设置它,在我将它发送到服务器之后,在我的浏览器中我得到了如下结果

Cookie: PHPSESSID=t2l6v6nrhdm9mgenjad6pa56e6

它丢失了很多信息?那么,当我在这种情况下,如何制作原始cookie呢

像这样的代码演示:

class NetManager(QObject):
    def __init__(self):
        super().__init__()
        self.nm = QNetworkAccessManager()
        self.nm.finished.connect(self.on_finished)
        self.set_cookie()
    
    def on_finished(self, reply: QNetworkReply):
        if reply.error() == QNetworkReply.NoError:
            data = reply.readAll()
            print('data', data)
    
    def set_cookie(self):
        jar =  QNetworkCookieJar()  # type:QNetworkCookieJar
        data = b'PHPSESSID=t2l6v6nrsam9mgenjad6pa56e6;Domain=api.tx1928.com;path=/;Path=/;PHPSESSID=t2l6v6nrhdm9mgenjad6pa56e6;HttpOnly=;rong_im_auth_name=97c8e28aad96e1998cdc8e5fe7adcc65ed346e94c393065c;Max-Age=2592000;rong_im_auth_name=97c8e28aad96e1998cdc8e5fe7adcc65ed346e94c393065c;Expires=Thu, 24 Sep 2020 01:08:31 GMT;'
        cookies = QNetworkCookie.parseCookies(data)
        
        jar.setAllCookies(cookies)
    
        self.nm.setCookieJar(jar)


    def post(self, url):
        #to post some data to site

Tags: nameself服务器authdatacookiedeffinished