2014-12-15 10 views
13

C'è un modo semplice per convertire un cookiejar da Python 3 requests library in un qnetworkcookiejar?Come convertire request.cookiejar in qnetworkcookiejar?

Convertire il cookiejar dalla libreria delle richieste in un dizionario e quindi in un qnetworkcookiejar. Alcuni cookie sono presenti in più versioni con valori diversi.

def updateCookieJar(self, cookiejar, requested_url):  
    qnetworkcookie_list = [] 
    cookie_dict = dict_from_cookiejar(cookiejar) 
    for cookie in cookie_dict: 
     tmp_cookiejar = QNetworkCookie(cookie, cookie_dict[cookie]) 
     qnetworkcookie_list.append(tmp_cookiejar) 
    qcookiejar = QNetworkCookieJar() 
    qcookiejar.setCookiesFromUrl(qnetworkcookie_list, QUrl(requested_url)) 
    self.networkAccessManager().setCookieJar(qcookiejar) 

Questa funzione viene richiamata all'interno di un Webpage.

risposta

0

Provare a utilizzare cookiejar direttamente anziché dizionario.

def updateCookieJar(self, cookiejar, requested_url):  
    qnetworkcookie_list = [] 

    for cookie in cookiejar: 
     tmp_cookiejar = QNetworkCookie(cookie.name, cookie.value) 
     qnetworkcookie_list.append(tmp_cookiejar) 
    qcookiejar = QNetworkCookieJar() 
    qcookiejar.setCookiesFromUrl(qnetworkcookie_list, QUrl(requested_url)) 
    self.networkAccessManager().setCookieJar(qcookiejar)