2012-02-17 6 views

답변

3

기본적으로 웹킷에서 사용하는 기본 QNetworkAccessManager에는 자체 (비 지속적) 쿠키 항아리 인 QNetworkCookieJar가 있습니다.

QWebPage의 수명 기간 동안 쿠키를 보내고받는 것을 처리합니다.

여러 페이지에서 동일한 쿠키 항아리를 유지하기 위해, 당신이 있습니다

  1. 가 QNetworkCookieJar의 인스턴스를 생성, 아마도 그것이
  2. 각 새롭게 이 쿠키 항아리를 첨부 지속 할 의 서브 클래스 설정에 저장된 영구 쿠키 항아리의 생성 QWebPage

예 :

사용하려면

QWebView* vw = new QWebView(this); 
PersistenCookieJar* jar = new PersistenCookieJar(this); 
vw->page()->networkAccessManager()->setCookieJar(jar); // the jar is reparented to the page 
jar->setParent(this); // reparent to main widget to avoid destruction together with the page 
+0

@shahinul을 - 당신은 대답을 받아 들여야한다. –

+0

힌트 : 위의 코드가 작동하지 않는 경우이를 확장하고 virtual cookiesForUrl (QUrl *) 메서드를 재정의 할 수 있습니다. 거기에 기본 클래스 메소드 쿠키를 모으고 영구 쿠키를 추가하고 모두 반환합니다. 이렇게하면 쿠키가 브라우저에서 열린 모든 URL로 전달됩니다. – Fabian

관련 문제