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 매개변수는 쿠키에 지정된 도메인이 허용되는지 확인하는 데 사용됩니다.
© 2025 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.