이 페이지에서

QNetworkCookieJar Class

QNetworkCookieJar 클래스는 QNetworkCookie 객체로 구성된 간단한 저장소를 구현합니다. 더 보기...

헤더: #include <QNetworkCookieJar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
상속: QObject

공개 함수

QNetworkCookieJar(QObject *parent = nullptr)
virtual ~QNetworkCookieJar()
virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const
virtual bool deleteCookie(const QNetworkCookie &cookie)
virtual bool insertCookie(const QNetworkCookie &cookie)
virtual bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
virtual bool updateCookie(const QNetworkCookie &cookie)

보호된 함수

QList<QNetworkCookie> allCookies() const
void setAllCookies(const QList<QNetworkCookie> &cookieList)
virtual bool validateCookie(const QNetworkCookie &cookie, const QUrl &url) const

상세 설명

쿠키는 HTTP와 같은 상태 비저장 프로토콜이 요청 간에 일부 영구적인 정보를 유지하기 위해 사용하는 작은 정보 조각입니다.

쿠키는 원격 서버가 요청에 응답할 때 설정되며, 이후 요청이 전송될 때 동일한 쿠키가 다시 전송될 것으로 기대합니다.

쿠키 항아리는 이전 요청에서 설정된 모든 쿠키를 보관하는 객체입니다. 웹 브라우저는 애플리케이션 호출 간에 영구 쿠키를 보존하기 위해 쿠키 항아리를 디스크에 저장합니다.

QNetworkCookieJar는 영구 저장 기능을 구현하지 않으며, 쿠키를 메모리에만 보관합니다. QNetworkCookieJar 객체가 삭제되면, 이 객체가 보관하던 모든 쿠키도 함께 삭제됩니다. 쿠키를 저장하려면 이 클래스를 상속받아 디스크에 저장하는 기능을 사용자 정의 저장 형식으로 구현해야 합니다.

이 클래스는 쿠키 사양에서 권장하는 기본적인 보안 기능만 구현하며, 쿠키 허용 정책은 구현하지 않습니다(모든 요청에서 설정된 쿠키를 모두 허용합니다). 이러한 규칙을 재정의하려면 cookiesForUrl() 및 setCookiesFromUrl() 가상 함수를 재구현해야 합니다. 이 함수들은 QNetworkReply 및 QNetworkAccessManager 가 새로운 쿠키를 감지하거나 쿠키가 필요할 때 호출됩니다.

QNetworkCookie, QNetworkAccessManager, QNetworkReply, QNetworkRequest 및 QNetworkAccessManager::setCookieJar()도 참조하십시오 .

멤버 함수 문서

[explicit] QNetworkCookieJar::QNetworkCookieJar(QObject *parent = nullptr)

QNetworkCookieJar 객체를 생성하고, 부모 객체를 parent 로 설정합니다.

쿠키 저장소는 비어 있는 상태로 초기화됩니다.

[virtual noexcept] QNetworkCookieJar::~QNetworkCookieJar()

이 쿠키 항아리 객체를 삭제하고, 그 안에 저장된 모든 쿠키를 제거합니다. QNetworkCookieJar 의 기본 구현에서는 쿠키가 디스크에 저장되지 않습니다.

쿠키를 디스크에 저장해야 하는 경우, ` QNetworkCookieJar `을 상속받아 직접 쿠키를 디스크에 저장해야 합니다.

[protected] QList<QNetworkCookie> QNetworkCookieJar::allCookies() const

이 쿠키 저장소에 저장된 모든 쿠키를 반환합니다. 이 함수는 파생 클래스가 쿠키를 디스크에 저장하거나, 쿠키 만료 및 기타 정책을 구현하는 데 적합합니다.

setAllCookies() 및 cookiesForUrl()도 참조하십시오 .

[virtual] QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const

url 로 요청이 전송될 때 추가될 쿠키를 반환합니다. 이 함수는 기본 ` QNetworkAccessManager::createRequest()`에 의해 호출되며, 이 함수는 이 함수가 반환한 쿠키를 전송 중인 요청에 추가합니다.

동일한 이름을 가지지만 경로가 다른 쿠키가 두 개 이상 발견될 경우, 경로가 더 긴 쿠키가 경로가 더 짧은 쿠키보다 먼저 반환됩니다. 즉, 이 함수는 경로 길이가 긴 순서대로 정렬된 쿠키를 반환합니다.

기본 QNetworkCookieJar 클래스는 매우 기본적인 보안 정책만 구현합니다(쿠키의 도메인과 경로가 응답의 도메인 및 경로와 일치하는지 확인함). 사용자 정의 알고리즘을 사용하여 보안 정책을 강화하려면 cookiesForUrl()을 재정의하십시오.

setCookiesFromUrl() 및 QNetworkAccessManager::setCookieJar()도 참조하십시오 .

[virtual] bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie)

cookie 와 동일한 식별자를 가진 쿠키를 쿠키 저장소에서 삭제합니다.

쿠키가 삭제된 경우 true 를 반환하고, 그렇지 않은 경우 false를 반환합니다.

QNetworkCookie::hasSameIdentifier()도 참조하십시오 .

[virtual] bool QNetworkCookieJar::insertCookie(const QNetworkCookie &cookie)

이 쿠키 저장소에 ` cookie `를 추가합니다.

cookie 가 추가된 경우 true 를 반환하고, 그렇지 않은 경우 false를 반환합니다.

쿠키 저장소에 동일한 식별자를 가진 쿠키가 이미 존재하는 경우, 해당 쿠키는 덮어쓰게 됩니다.

[protected] void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)

이 쿠키 저장소가 보유한 내부 쿠키 목록을 cookieList 로 설정합니다. 이 함수는 파생 클래스가 setCookiesFromUrl()를 재구현하여 영구 저장소에서 쿠키를 불러오거나, 자체 쿠키 허용 정책을 구현하는 데 적합합니다.

allCookies() 및 setCookiesFromUrl()도 참조하십시오 .

[virtual] bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)

cookieList 목록에 있는 쿠키들을 이 쿠키 저장소에 추가합니다. 삽입되기 전에 쿠키들은 정규화됩니다.

url 에 하나 이상의 쿠키가 설정되어 있으면 true 를 반환하고, 그렇지 않으면 false를 반환합니다.

쿠키 저장소에 이미 쿠키가 존재하는 경우, 해당 쿠키는 cookieList 에 포함된 쿠키로 덮어쓰게 됩니다.

기본 QNetworkCookieJar 클래스는 매우 기본적인 보안 정책만 구현합니다(쿠키의 도메인과 경로가 응답의 도메인 및 경로와 일치하는지 확인합니다). 자체 알고리즘을 사용하여 보안 정책을 강화하려면 setCookiesFromUrl()을 재정의하십시오.

또한, ` QNetworkCookieJar `에는 쿠키 저장소의 최대 크기가 정해져 있지 않습니다. 이 함수를 재구현하여 오래된 쿠키를 삭제하고 새로운 쿠키를 저장할 공간을 확보하십시오.

cookiesForUrl(), QNetworkAccessManager::setCookieJar(), QNetworkCookie::normalize()도 참조하십시오 .

[virtual] bool QNetworkCookieJar::updateCookie(const QNetworkCookie &cookie)

이 쿠키 저장소에 cookie 과 동일한 식별자를 가진 쿠키가 존재하면 해당 쿠키가 업데이트됩니다. 이 함수는 insertCookie()를 사용합니다.

cookie 가 업데이트된 경우 true 를 반환하고, 쿠키 저장소에 cookie 의 식별자와 일치하는 쿠키가 없는 경우 false를 반환합니다.

QNetworkCookie::hasSameIdentifier()도 참조하십시오 .

[virtual protected] bool QNetworkCookieJar::validateCookie(const QNetworkCookie &cookie, const QUrl &url) const

cookie 의 도메인과 경로가 유효한 경우 ` true `을 반환하고, 그렇지 않은 경우 `false`를 반환합니다. ` url ` 매개변수는 쿠키에 지정된 도메인이 허용되는지 여부를 판단하는 데 사용됩니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.