QNetworkRequest Class
QNetworkRequest 클래스는 QNetworkAccessManager 로 전송할 요청을 보관합니다. 더 보기...
헤더: | #include <QNetworkRequest> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake: | QT += network |
- 상속된 멤버를 포함한 모든 멤버 목록
- QNetworkRequest는 네트워크 프로그래밍 API와 암시적으로 공유되는 클래스의 일부입니다.
공용 유형
enum | Attribute { HttpStatusCodeAttribute, HttpReasonPhraseAttribute, RedirectionTargetAttribute, ConnectionEncryptedAttribute, CacheLoadControlAttribute, …, UserMax } |
enum | CacheLoadControl { AlwaysNetwork, PreferNetwork, PreferCache, AlwaysCache } |
enum | KnownHeaders { ContentDispositionHeader, ContentTypeHeader, ContentLengthHeader, LocationHeader, LastModifiedHeader, …, ServerHeader } |
enum | LoadControl { Automatic, Manual } |
enum | Priority { HighPriority, NormalPriority, LowPriority } |
enum | RedirectPolicy { ManualRedirectPolicy, NoLessSafeRedirectPolicy, SameOriginRedirectPolicy, UserVerifiedRedirectPolicy } |
enum | TransferTimeoutConstant { DefaultTransferTimeoutConstant } |
공용 함수
QNetworkRequest() | |
QNetworkRequest(const QUrl &url) | |
QNetworkRequest(const QNetworkRequest &other) | |
~QNetworkRequest() | |
QVariant | attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const |
(since 6.2) qint64 | decompressedSafetyCheckThreshold() const |
bool | hasRawHeader(QAnyStringView headerName) const |
QVariant | header(QNetworkRequest::KnownHeaders header) const |
(since 6.8) QHttpHeaders | headers() const |
(since 6.5) QHttp1Configuration | http1Configuration() const |
QHttp2Configuration | http2Configuration() const |
int | maximumRedirectsAllowed() const |
QObject * | originatingObject() const |
QString | peerVerifyName() const |
QNetworkRequest::Priority | priority() const |
QByteArray | rawHeader(QAnyStringView headerName) const |
QList<QByteArray> | rawHeaderList() const |
void | setAttribute(QNetworkRequest::Attribute code, const QVariant &value) |
(since 6.2) void | setDecompressedSafetyCheckThreshold(qint64 threshold) |
void | setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value) |
(since 6.8) void | setHeaders(QHttpHeaders &&newHeaders) |
(since 6.8) void | setHeaders(const QHttpHeaders &newHeaders) |
(since 6.5) void | setHttp1Configuration(const QHttp1Configuration &configuration) |
void | setHttp2Configuration(const QHttp2Configuration &configuration) |
void | setMaximumRedirectsAllowed(int maxRedirectsAllowed) |
void | setOriginatingObject(QObject *object) |
void | setPeerVerifyName(const QString &peerName) |
void | setPriority(QNetworkRequest::Priority priority) |
void | setRawHeader(const QByteArray &headerName, const QByteArray &headerValue) |
void | setSslConfiguration(const QSslConfiguration &config) |
void | setTransferTimeout(int timeout) |
(since 6.7) void | setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout) |
void | setUrl(const QUrl &url) |
QSslConfiguration | sslConfiguration() const |
void | swap(QNetworkRequest &other) |
int | transferTimeout() const |
(since 6.7) std::chrono::milliseconds | transferTimeoutAsDuration() const |
QUrl | url() const |
bool | operator!=(const QNetworkRequest &other) const |
QNetworkRequest & | operator=(const QNetworkRequest &other) |
bool | operator==(const QNetworkRequest &other) const |
정적 공용 멤버
const std::chrono::std::chrono::milliseconds | DefaultTransferTimeout |
상세 설명
QNetworkRequest는 네트워크 액세스 API의 일부이며 네트워크를 통해 요청을 전송하는 데 필요한 정보를 보유하는 클래스입니다. 여기에는 URL과 요청을 수정하는 데 사용할 수 있는 몇 가지 보조 정보가 포함되어 있습니다.
QNetworkReply 및 QNetworkAccessManager 을참조하세요 .
멤버 유형 문서
enum QNetworkRequest::Attribute
QNetworkRequest 및 QNetworkReply 에 대한 속성 코드.
속성은 요청의 동작을 제어하고 응답의 추가 정보를 애플리케이션에 다시 전달하는 데 사용되는 추가 메타 데이터입니다. 어트리뷰트는 확장도 가능하므로 사용자 정의 구현에서 사용자 정의 값을 전달할 수 있습니다.
다음 표에서는 기본 속성 코드, 연결된 QVariant 유형, 해당 속성이 누락된 경우 기본값, 요청 또는 응답에 사용되는지 여부에 대해 설명합니다.
상수 | 값 | 설명 |
---|---|---|
QNetworkRequest::HttpStatusCodeAttribute | 0 | 응답 전용, 유형: QMetaType::Int (기본값 없음) HTTP 서버에서 받은 HTTP 상태 코드(예: 200, 304, 404, 401 등)를 나타냅니다. 연결이 HTTP 기반이 아닌 경우 이 속성은 존재하지 않습니다. |
QNetworkRequest::HttpReasonPhraseAttribute | 1 | 응답 전용, 유형: QMetaType::QByteArray (기본값 없음) HTTP 서버에서 받은 HTTP 이유 문구("확인", "찾음", "찾을 수 없음", "액세스 거부" 등)를 표시합니다. 이는 사람이 읽을 수 있는 상태 코드의 표현입니다(위 참조). 연결이 HTTP 기반이 아닌 경우 이 속성은 표시되지 않습니다. 참고: HTTP/2를 사용할 때는 이유 문구를 사용하지 않습니다. |
QNetworkRequest::RedirectionTargetAttribute | 2 | 응답 전용, 유형: QMetaType::QUrl (기본값 없음) 존재하면 서버가 요청을 다른 URL로 리디렉션하고 있음을 나타냅니다. QNetworkRequest::ManualRedirectPolicy 을 사용하지 않는 한 네트워크 액세스 API는 기본적으로 리디렉션을 따릅니다. 또한 QNetworkRequest::UserVerifiedRedirectPolicy 을 사용하는 경우 리디렉션이 따르지 않은 경우 이 속성이 설정됩니다. 반환된 URL은 상대 URL일 수 있습니다. QUrl::resolved ()를 사용하여 절대 URL을 만들 수 있습니다. |
QNetworkRequest::ConnectionEncryptedAttribute | 3 | 응답 전용, 유형: QMetaType::Bool (기본값: false) 데이터가 암호화된(보안) 연결을 통해 가져왔는지 여부를 나타냅니다. |
QNetworkRequest::CacheLoadControlAttribute | 4 | 요청만, 유형: QMetaType::Int (기본값: QNetworkRequest::PreferNetwork) 캐시에 액세스하는 방법을 제어합니다. 사용 가능한 값은 QNetworkRequest::CacheLoadControl 입니다. 기본값 QNetworkAccessManager 구현은 캐싱을 지원하지 않습니다. 그러나 특정 백엔드에서 이 속성을 사용하여 요청을 수정할 수 있습니다(예: 프록시 캐싱). |
QNetworkRequest::CacheSaveControlAttribute | 5 | 요청 전용, 유형: QMetaType::Bool (기본값: true) 획득한 데이터를 나중에 사용할 수 있도록 캐시에 저장할지 여부를 제어합니다. 값이 false이면 가져온 데이터가 자동으로 캐시되지 않습니다. 참이면 캐시 가능한 데이터인 경우 데이터를 캐시할 수 있습니다(캐시 가능한 데이터는 사용 중인 프로토콜에 따라 다름). |
QNetworkRequest::SourceIsFromCacheAttribute | 6 | 응답 전용, 유형: QMetaType::Bool (기본값: false) 데이터를 캐시에서 가져왔는지 여부를 나타냅니다. |
QNetworkRequest::DoNotBufferUploadDataAttribute | 7 | 요청만, 유형: QMetaType::Bool (기본값: false) HTTP POST를 수행할 때 QNetworkAccessManager 코드가 업로드 데이터를 버퍼링할 수 있는지 여부를 나타냅니다. 순차 업로드 데이터에 이 플래그를 사용하는 경우 ContentLengthHeader 헤더를 설정해야 합니다. |
QNetworkRequest::HttpPipeliningAllowedAttribute | 8 | 요청 전용, 유형: QMetaType::Bool (기본값: false) QNetworkAccessManager 코드가 이 요청에 HTTP 파이프라이닝을 사용할 수 있는지 여부를 나타냅니다. |
QNetworkRequest::HttpPipeliningWasUsedAttribute | 9 | 응답 전용, 유형: QMetaType::Bool 이 응답을 수신하는 데 HTTP 파이프라이닝이 사용되었는지 여부를 나타냅니다. |
QNetworkRequest::CustomVerbAttribute | 10 | 요청만, 유형: QMetaType::QByteArray 전송할 사용자 지정 HTTP 동사의 값을 보유합니다(GET, POST, PUT 및 DELETE 이외의 다른 동사 사용 대상). 이 동사는 QNetworkAccessManager::sendCustomRequest()를 호출할 때 설정됩니다. |
QNetworkRequest::CookieLoadControlAttribute | 11 | 요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 요청에 '쿠키' 헤더를 보낼지 여부를 나타냅니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials가 명시적으로 true로 설정되지 않은 교차 출처 XMLHttpRequest를 생성할 때 Qt WebKit에서 false로 설정됩니다. 자세한 내용은 여기를 참조하세요. (이 값은 4.7에 도입되었습니다.) |
QNetworkRequest::CookieSaveControlAttribute | 13 | 요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 요청에 대한 응답으로 서버로부터 받은 '쿠키' 헤더를 저장할지 여부를 나타냅니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials가 명시적으로 true로 설정되지 않은 교차 출처 XMLHttpRequest를 생성할 때 Qt WebKit에서 false로 설정됩니다. 자세한 내용은 여기를 참조하세요. (이 값은 4.7에 도입되었습니다.) |
QNetworkRequest::AuthenticationReuseAttribute | 12 | 요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 사용 가능한 경우 요청에 캐시된 인증 자격 증명을 사용할지 여부를 나타냅니다. 이 값이 QNetworkRequest::Manual 로 설정되어 있고 인증 메커니즘이 '기본' 또는 '다이제스트'인 경우, Qt는 요청의 URL에 대해 캐시된 자격 증명이 있는 'Authorization' HTTP 헤더를 보내지 않습니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials가 명시적으로 true로 설정되지 않은 교차 출처 XMLHttpRequest를 생성할 때 Qt WebKit에서 QNetworkRequest::Manual 로 설정됩니다. 자세한 내용은 여기를 참조하세요. (이 값은 4.7에 도입되었습니다.) |
QNetworkRequest::BackgroundRequestAttribute | 17 | 유형: QMetaType::Bool (기본값: false) 사용자가 시작한 전송이 아닌 백그라운드 전송임을 나타냅니다. 플랫폼에 따라 백그라운드 전송에는 다른 정책이 적용될 수 있습니다. |
QNetworkRequest::Http2AllowedAttribute | 19 | 요청 전용, 유형: QMetaType::Bool (기본값: true) QNetworkAccessManager 코드가 이 요청에 HTTP/2를 사용할 수 있는지 여부를 나타냅니다. 이는 SSL 요청 또는 Http2CleartextAllowedAttribute가 설정된 경우 '일반 텍스트' HTTP/2에 적용됩니다. |
QNetworkRequest::Http2WasUsedAttribute | 20 | 응답 전용, 유형: QMetaType::Bool (기본값: false) 이 응답 수신에 HTTP/2가 사용되었는지 여부를 나타냅니다. (이 값은 5.9에 도입되었습니다.) |
QNetworkRequest::EmitAllUploadProgressSignalsAttribute | 18 | 요청만, 유형: QMetaType::Bool (기본값: false) 모든 업로드 신호를 전송할지 여부를 나타냅니다. 기본적으로 uploadProgress 신호는 100밀리초 간격으로만 전송됩니다. (이 값은 5.5에 도입되었습니다.) |
QNetworkRequest::OriginalContentLengthAttribute | 21 | 응답 전용, QMetaType::Int 데이터가 압축되고 요청이 자동으로 압축 해제되도록 표시된 경우 무효화되고 헤더에서 제거되기 전에 원래 콘텐츠 길이 속성을 유지합니다. (이 값은 5.9에 도입되었습니다.) |
QNetworkRequest::RedirectPolicyAttribute | 22 | 요청 전용, 유형: QMetaType::Int 는 QNetworkRequest::RedirectPolicy 값 중 하나여야 합니다(기본값: NoLessSafeRedirectPolicy). (이 값은 5.9에 도입되었습니다.) |
QNetworkRequest::Http2DirectAttribute | 23 | 요청만, 유형: QMetaType::Bool (기본값: false) 이 속성을 설정하면 QNetworkAccessManager 은 초기 HTTP/2 프로토콜 협상 없이 HTTP/2 프로토콜을 사용하도록 강제합니다. 이 속성을 사용하려면 특정 서버가 HTTP/2를 지원한다는 사전 지식이 있어야 합니다. 이 속성은 SSL 또는 Http2CleartextAllowedAttribute가 설정된 경우 'cleartext' HTTP/2와 함께 작동합니다. 서버가 HTTP/2를 지원하지 않는 것으로 판명된 경우, HTTP/2 다이렉트를 지정한 경우 QNetworkAccessManager 은 HTTP/1.1로 되돌아가려고 시도하지 않고 포기합니다. Http2AllowedAttribute와 Http2DirectAttribute가 모두 설정된 경우, Http2DirectAttribute가 우선합니다. (이 값은 5.11에 도입되었습니다.) |
QNetworkRequest::AutoDeleteReplyOnFinishAttribute | 25 | 요청 전용, 유형: QMetaType::Bool (기본값: false) 이 속성을 설정하면 QNetworkAccessManager 이 "완료"를 보낸 후 QNetworkReply 을 삭제합니다. (이 값은 5.14에 도입되었습니다.) |
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute | 26 | 요청만, 입력합니다: QMetaType::Int 마지막 보류 중인 요청이 처리된 후 서버에 대한 TCP 연결(HTTP1 및 HTTP2)을 닫을 시기를 설정합니다. (이 값은 6.3에 도입되었습니다.) |
QNetworkRequest::Http2CleartextAllowedAttribute | 27 | 요청 전용, 유형: QMetaType::Bool (기본값: false) 이 속성을 설정하면 QNetworkAccessManager 에 투명 텍스트를 통한 HTTP/2(h2c라고도 함)로의 업그레이드를 시도하라고 알려줍니다. Qt 7까지는 이 속성의 기본값을 QT_NETWORK_H2C_ALLOWED 환경 변수를 설정하여 true로 재정의할 수 있습니다. Http2AllowedAttribute가 설정되지 않은 경우 이 속성은 무시됩니다. (이 값은 6.3에 도입되었습니다.) |
QNetworkRequest::UseCredentialsAttribute | 28 | 요청 전용, 유형: QMetaType::Bool (기본값: false) 기본 XMLHttpRequest 교차 사이트 액세스 제어 요청이 자격 증명을 사용하여 이루어져야 하는지 여부를 나타냅니다. 동일한 출처 요청에는 영향을 미치지 않습니다. WebAssembly 플랫폼에만 영향을 줍니다. (이 값은 6.5에 도입되었습니다.) |
QNetworkRequest::FullLocalServerNameAttribute | 29 | 요청 전용, 유형: QMetaType::String 기본 QLocalSocket 에 사용할 전체 로컬 서버 이름을 보유합니다. 이 속성은 QLocalSocket 의 단순한 이름으로는 충분하지 않은 경우 QNetworkAccessManager 에서 특정 로컬 서버에 연결하기 위해 사용됩니다. QNetworkRequest 의 URL은 여전히 unix+http: 또는 local+http: 구문을 사용해야 합니다. 그리고 URL의 호스트 이름은 HTTP 요청의 호스트 헤더에 사용됩니다. (이 값은 6.8에 도입되었습니다.) |
QNetworkRequest::User | 1000 | 특수 유형. 추가 정보는 User에서 UserMax에 이르는 다양한 유형의 QVariants로 전달할 수 있습니다. 네트워크 액세스의 기본 구현은 이 범위의 모든 요청 속성을 무시하며 응답에서 이 범위의 속성을 생성하지 않습니다. 이 범위는 QNetworkAccessManager 의 확장을 위해 예약되어 있습니다. |
QNetworkRequest::UserMax | 32767 | 특수 유형. 사용자 참조. |
enum QNetworkRequest::CacheLoadControl
QNetworkAccessManager 의 캐싱 메커니즘을 제어합니다.
Constant | 값 | 설명 |
---|---|---|
QNetworkRequest::AlwaysNetwork | 0 | 항상 네트워크에서 로드하고 캐시에 유효한 항목이 있는지 확인하지 않습니다(브라우저의 '다시 로드' 기능과 유사); 또한 중간 캐시가 재검증하도록 강제합니다. |
QNetworkRequest::PreferNetwork | 1 | 기본값; 캐시된 항목이 네트워크 항목보다 오래된 경우 네트워크에서 로드합니다. 이렇게 하면 캐시에서 오래된 데이터를 반환하지 않지만 오래된 리소스의 유효성을 다시 검사합니다. |
QNetworkRequest::PreferCache | 2 | 가능한 경우 캐시에서 로드하고, 그렇지 않으면 네트워크에서 로드합니다. 캐시에서 오래된(만료되지는 않았지만) 항목을 반환할 수 있습니다. |
QNetworkRequest::AlwaysCache | 3 | 캐시에서 로드만 수행하여 항목이 캐시되지 않은 경우(즉, 오프라인 모드) 오류를 표시합니다. |
enum QNetworkRequest::KnownHeaders
QNetworkRequest 에서 구문 분석하는 알려진 헤더 유형 목록입니다. 각 알려진 헤더는 전체 HTTP 이름과 함께 원시 형태로도 표시됩니다.
Constant | 값 | 설명 |
---|---|---|
QNetworkRequest::ContentDispositionHeader | 6 | HTTP Content-Disposition 헤더에 해당하며 처리 유형(예: 첨부 파일)과 매개 변수(예: 파일 이름)가 포함된 문자열을 포함합니다. |
QNetworkRequest::ContentTypeHeader | 0 | HTTP Content-Type 헤더에 해당하며 미디어(MIME) 유형과 보조 데이터(예: 문자셋)가 포함된 문자열을 포함합니다. |
QNetworkRequest::ContentLengthHeader | 1 | HTTP Content-Length 헤더에 해당하며 전송된 데이터의 바이트 단위 길이를 포함합니다. |
QNetworkRequest::LocationHeader | 2 | HTTP Location 헤더에 해당하며 리디렉션의 경우 대상 URL을 포함하여 데이터의 실제 위치를 나타내는 URL을 포함합니다. |
QNetworkRequest::LastModifiedHeader | 3 | HTTP Last-Modified 헤더에 해당하며 콘텐츠의 마지막 수정 날짜를 나타내는 QDateTime 을 포함합니다. |
QNetworkRequest::IfModifiedSinceHeader | 9 | HTTP If-Modified-Since 헤더에 해당하며 QDateTime 을 포함합니다. 일반적으로 QNetworkRequest 에 추가됩니다. 이 시간 이후 리소스가 변경되지 않은 경우 서버는 304(Not Modified) 응답을 전송합니다. |
QNetworkRequest::ETagHeader | 10 | HTTP ETag 헤더에 해당하며 콘텐츠의 마지막 수정 상태를 나타내는 QString 을 포함합니다. |
QNetworkRequest::IfMatchHeader | 11 | HTTP If-Match 헤더에 대응하며 QStringList 을 포함합니다. 일반적으로 QNetworkRequest 에 추가됩니다. 리소스가 일치하지 않으면 서버는 412(전제 조건 실패) 응답을 전송합니다. |
QNetworkRequest::IfNoneMatchHeader | 12 | HTTP If-None-Match 헤더에 해당하며 QStringList. 일반적으로 QNetworkRequest 에 추가됩니다. 리소스가 일치하면 서버는 304(수정되지 않음) 응답을 보냅니다. |
QNetworkRequest::CookieHeader | 4 | HTTP 쿠키 헤더에 해당하며 서버로 다시 전송할 쿠키를 나타내는 QList<QNetworkCookie>를 포함합니다. |
QNetworkRequest::SetCookieHeader | 5 | HTTP Set-Cookie 헤더에 해당하며 서버에서 로컬로 저장할 쿠키를 나타내는 QList<QNetworkCookie>를 포함합니다. |
QNetworkRequest::UserAgentHeader | 7 | HTTP 클라이언트가 전송하는 User-Agent 헤더입니다. |
QNetworkRequest::ServerHeader | 8 | HTTP 클라이언트가 수신한 서버 헤더. |
header(), setHeader(), rawHeader() 및 setRawHeader()도 참조하세요 .
enum QNetworkRequest::LoadControl
요청의 로딩 메커니즘의 일부가 수동으로 재정의되었는지 여부(예: Qt WebKit)를 나타냅니다.
Constant | 값 | 설명 |
---|---|---|
QNetworkRequest::Automatic | 0 | 기본값: 기본 동작을 나타냅니다. |
QNetworkRequest::Manual | 1 | 동작이 수동으로 재정의되었음을 나타냅니다. |
enum QNetworkRequest::Priority
이 열거형에는 가능한 네트워크 요청 우선 순위가 나열됩니다.
Constant | 값 | 설명 |
---|---|---|
QNetworkRequest::HighPriority | 1 | 높은 우선순위 |
QNetworkRequest::NormalPriority | 3 | 보통 우선순위 |
QNetworkRequest::LowPriority | 5 | 낮은 우선순위 |
enum QNetworkRequest::RedirectPolicy
네트워크 액세스 API가 HTTP 리디렉션 응답을 자동으로 따라야 하는지 여부를 나타냅니다.
Constant | 값 | 설명 |
---|---|---|
QNetworkRequest::ManualRedirectPolicy | 0 | 리디렉션을 따르지 않습니다. |
QNetworkRequest::NoLessSafeRedirectPolicy | 1 | 기본값입니다: "http"->"http", "http"->"https" 또는 "https"->"https" 리디렉션만 허용됩니다. |
QNetworkRequest::SameOriginRedirectPolicy | 2 | 동일한 프로토콜, 호스트 및 포트가 필요합니다. http://example.com 와 http://example.com:80 은 이 정책에서 실패합니다(암시적/명시적 포트는 불일치로 간주됩니다). |
QNetworkRequest::UserVerifiedRedirectPolicy | 3 | 클라이언트는 redirected() 신호를 처리하여 QNetworkReply 객체에서 redirectAllowed()를 전송하여 리디렉션을 허용하거나 중단/종료하여 리디렉션을 거부함으로써 각 리디렉션을 따를지 여부를 결정합니다. 예를 들어 사용자에게 리디렉션을 수락할지 여부를 묻거나 앱별 구성에 따라 결정할 때 이 함수를 사용할 수 있습니다. |
참고: Qt가 리디렉션을 처리할 때 레거시 및 호환성상의 이유로 서버가 301 또는 302 응답을 반환하면 원래 사용된 메서드에 관계없이 HEAD가 아닌 경우 GET을 사용하여 리디렉션된 요청을 발행합니다.
enum QNetworkRequest::TransferTimeoutConstant
미리 설정된 값으로 전송 시간 초과를 활성화하는 데 사용할 수 있는 상수입니다.
상수 | 값 | 설명 |
---|---|---|
QNetworkRequest::DefaultTransferTimeoutConstant | 30000 | 밀리초 단위의 전송 시간 제한입니다. 인자 없이 setTimeout()이 호출될 때 사용됩니다. |
멤버 함수 문서
QNetworkRequest::QNetworkRequest()
요청할 URL이 없는 QNetworkRequest 객체를 생성합니다. setUrl ()를 사용하여 설정합니다.
[explicit]
QNetworkRequest::QNetworkRequest(const QUrl &url)
요청할 URL을 url 로 사용하여 QNetworkRequest 객체를 구축합니다.
QNetworkRequest::QNetworkRequest(const QNetworkRequest &other)
other 의 복사본을 만듭니다.
[noexcept]
QNetworkRequest::~QNetworkRequest()
QNetworkRequest 개체를 폐기합니다.
QVariant QNetworkRequest::attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const
코드와 연관된 속성을 반환합니다 code. 속성이 설정되지 않은 경우 defaultValue 을 반환합니다.
참고: 이 함수는 QNetworkRequest::Attribute 에 나열된 기본값을 적용하지 않습니다.
setAttribute() 및 QNetworkRequest::Attribute 을참조하세요 .
[since 6.2]
qint64 QNetworkRequest::decompressedSafetyCheckThreshold() const
아카이브 폭탄 검사 임계값을 반환합니다.
압축 해제된 응답의 크기가 이보다 작으면 Qt는 추가 검사 없이 압축을 해제합니다.
이 함수는 Qt 6.2에 도입되었습니다.
setDecompressedSafetyCheckThreshold()도 참조하십시오 .
bool QNetworkRequest::hasRawHeader(QAnyStringView headerName) const
이 네트워크 요청에 원시 헤더 headerName 가 있는 경우 true
를 반환합니다.
참고: 6.7 이전 Qt 버전에서는 이 함수는 QByteArray 만 받습니다.
rawHeader() 및 setRawHeader()도 참조하세요 .
QVariant QNetworkRequest::header(QNetworkRequest::KnownHeaders header) const
이 요청에 알려진 네트워크 헤더가 있으면 header 값을 반환합니다. 존재하지 않으면 QVariant()(즉, 유효하지 않은 변형)를 반환합니다.
KnownHeaders, rawHeader() 및 setHeader()도 참조하세요 .
[since 6.8]
QHttpHeaders QNetworkRequest::headers() const
이 네트워크 요청에 설정된 헤더를 반환합니다.
이 함수는 Qt 6.8에 도입되었습니다.
setHeaders()도 참조하십시오 .
[since 6.5]
QHttp1Configuration QNetworkRequest::http1Configuration() const
QNetworkAccessManager 이 요청의 기본 HTTP/1 연결에 사용하고 있는 현재 매개변수를 반환합니다.
이 함수는 Qt 6.5에 도입되었습니다.
setHttp1Configuration 를참조하세요 .
QHttp2Configuration QNetworkRequest::http2Configuration() const
QNetworkAccessManager 이 요청과 기본 HTTP/2 연결에 사용하고 있는 현재 매개변수를 반환합니다. 이는 애플리케이션에서 이전에 설정한 구성이거나 기본 구성입니다.
QNetworkAccessManager 에서 사용하는 기본값은 다음과 같습니다:
- 연결 수준 흐름 제어의 창 크기: 2147483647 옥텟
- 스트림 수준 흐름 제어의 창 크기는 214748364 옥텟입니다.
- 최대 프레임 크기는 16384입니다.
기본적으로 서버 푸시는 비활성화되어 있고, 허프만 압축 및 문자열 인덱싱은 활성화되어 있습니다.
setHttp2Configuration 을참조하세요 .
int QNetworkRequest::maximumRedirectsAllowed() const
이 요청에 대해 따를 수 있는 최대 리디렉션 수를 반환합니다.
setMaximumRedirectsAllowed()도 참조하세요 .
QObject *QNetworkRequest::originatingObject() const
이 네트워크 요청을 시작한 객체에 대한 참조를 반환합니다. 설정되지 않았거나 객체가 삭제된 경우 nullptr
을 반환합니다.
setOriginatingObject()도 참조하세요 .
QString QNetworkRequest::peerVerifyName() const
인증서 유효성 검사에 설정된 호스트 이름을 setPeerVerifyName 에 설정된 대로 반환합니다. 기본적으로 이 함수는 널 문자열을 반환합니다.
setPeerVerifyName도 참조하세요 .
QNetworkRequest::Priority QNetworkRequest::priority() const
이 요청의 우선순위를 반환합니다.
setPriority()도 참조하세요 .
QByteArray QNetworkRequest::rawHeader(QAnyStringView headerName) const
원시 형태의 헤더 headerName 를 반환합니다. 이러한 헤더가 없으면 빈 QByteArray 이 반환되며, 이는 존재하지만 콘텐츠가 없는 헤더와 구별할 수 없습니다(헤더의 존재 여부를 확인하려면 hasRawHeader()를 사용하세요).
원시 헤더는 setRawHeader() 또는 setHeader()로 설정할 수 있습니다.
참고: 6.7 이전 Qt 버전에서는 이 함수는 QByteArray 만 사용했습니다.
header() 및 setRawHeader()도 참조하세요 .
QList<QByteArray> QNetworkRequest::rawHeaderList() const
이 네트워크 요청에 설정된 모든 원시 헤더의 목록을 반환합니다. 목록은 헤더가 설정된 순서대로 나열됩니다.
hasRawHeader() 및 rawHeader()도 참조하세요 .
void QNetworkRequest::setAttribute(QNetworkRequest::Attribute code, const QVariant &value)
코드 code 와 연결된 속성을 값 value 으로 설정합니다. 속성이 이미 설정되어 있으면 이전 값은 무시됩니다. 특히 value 가 잘못된 QVariant 인 경우 속성이 설정 해제됩니다.
attribute() 및 QNetworkRequest::Attribute도 참조하세요 .
[since 6.2]
void QNetworkRequest::setDecompressedSafetyCheckThreshold(qint64 threshold)
아카이브 폭탄 검사를 위해 threshold 을 설정합니다.
일부 지원되는 압축 알고리즘은 작은 압축 파일로 엄청나게 큰 압축 해제 파일을 인코딩할 수 있습니다. 이는 압축 해제된 콘텐츠가 극도로 단조로운 경우에만 가능하며, 실제 파일이 선의로 전송되는 경우는 거의 없습니다. 이렇게 엄청나게 높은 압축률을 적용하는 파일은 일반적으로 버퍼 오버런 공격 또는 서비스 거부(너무 많은 메모리 사용) 공격의 페이로드가 됩니다. 따라서 특히 작은 압축 파일에서 엄청난 크기로 압축이 해제되는 파일은 멀웨어로 의심되는 파일로 거부하는 것이 가장 좋습니다.
응답의 압축 해제 크기가 이 임계값(기본값은 10 MiB, 즉 10 * 1024 * 1024)보다 큰 경우 Qt는 압축 비율을 확인합니다. 압축 비율이 부당하게 큰 경우(GZip 및 Deflate의 경우 40:1, Brotli 및 ZStandard의 경우 100:1) 응답은 오류로 처리됩니다. 임계값을 -1
으로 설정하면 이 검사가 비활성화됩니다.
이 기능은 Qt 6.2에 도입되었습니다.
decompressedSafetyCheckThreshold()도 참조하세요 .
void QNetworkRequest::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)
알려진 헤더 header 의 값을 value 으로 설정하여 이전에 설정된 모든 헤더를 재정의합니다. 이 작업은 동등한 원시 HTTP 헤더도 설정합니다.
KnownHeaders, setRawHeader() 및 header()도 참조하세요 .
[since 6.8]
void QNetworkRequest::setHeaders(QHttpHeaders &&newHeaders)
이 네트워크 요청의 헤더로 newHeaders 을 설정하여 이전에 설정된 모든 헤더를 재정의합니다.
일부 헤더가 알려진 헤더에 해당하는 경우 값을 구문 분석하고 해당 구문 분석된 형식도 설정합니다.
이 함수는 Qt 6.8에 도입되었습니다.
headers() 및 KnownHeaders 을참조하세요 .
[since 6.8]
void QNetworkRequest::setHeaders(const QHttpHeaders &newHeaders)
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.8에 도입되었습니다.
[since 6.5]
void QNetworkRequest::setHttp1Configuration(const QHttp1Configuration &configuration)
configuration 에서 요청의 HTTP/1 파라미터를 설정합니다.
이 함수는 Qt 6.5에 도입되었습니다.
http1Configuration, QNetworkAccessManager, QHttp1Configuration 를참고하세요 .
void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)
configuration 에서 요청의 HTTP/2 매개변수를 설정합니다.
참고: 요청을 하기 전에 구성을 설정해야 합니다.
참고: HTTP/2는 단일 HTTP/2 연결에서 여러 스트림을 멀티플렉싱합니다. 즉, QNetworkAccessManager 은 동일한 호스트로 전송된 일련의 요청 중 첫 번째 요청에서 찾은 구성을 사용합니다.
http2Configuration, QNetworkAccessManager, QHttp2Configuration 를참조하세요 .
void QNetworkRequest::setMaximumRedirectsAllowed(int maxRedirectsAllowed)
이 요청에 대해 허용되는 최대 리디렉션 수를 maxRedirectsAllowed 로 설정합니다.
maximumRedirectsAllowed()도 참조하세요 .
void QNetworkRequest::setOriginatingObject(QObject *object)
요청을 시작한 object 에 대한 참조를 설정할 수 있습니다.
예를 들어 Qt WebKit은 원본 객체를 요청을 시작한 QWebFrame으로 설정합니다.
originatingObject()도 참조하십시오 .
void QNetworkRequest::setPeerVerifyName(const QString &peerName)
인증서 유효성 검사를 위한 호스트 이름을 TCP 연결에 사용되는 이름 대신 peerName 로 설정합니다.
peerVerifyName 를참조하세요 .
void QNetworkRequest::setPriority(QNetworkRequest::Priority priority)
이 요청의 우선순위를 priority 로 설정합니다.
참고: priority 는 네트워크 액세스 관리자에 대한 힌트일 뿐입니다. 네트워크 액세스 관리자는 이를 사용할 수도 있고 사용하지 않을 수도 있습니다. 현재 HTTP가 서버에 어떤 요청을 먼저 보낼지 결정하는 데 사용됩니다.
priority()도 참조하세요 .
void QNetworkRequest::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)
headerName 헤더를 headerValue 값으로 설정합니다. headerName 이 알려진 헤더에 해당하는 경우( QNetworkRequest::KnownHeaders 참조 ), 원시 형식이 구문 분석되고 해당 "쿠킹된" 헤더도 설정됩니다.
예를 들어
request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));
는 알려진 헤더 LastModifiedHeader 를 구문 분석된 날짜의 QDateTime 객체로 설정합니다.
참고: 동일한 헤더를 두 번 설정하면 이전 설정이 재정의됩니다. 같은 이름의 여러 HTTP 헤더를 동작시키려면 두 값을 쉼표(",")로 구분하여 연결하고 하나의 원시 헤더를 설정해야 합니다.
참고: Qt 6.8부터 헤더 필드 이름은 소문자로 변환하여 정규화됩니다.
KnownHeaders, setHeader(), hasRawHeader() 및 rawHeader()도 참조하세요 .
void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config)
이 네트워크 요청의 SSL 구성을 config 로 설정합니다. 적용되는 설정은 개인 키, 로컬 인증서, TLS 프로토콜(예: TLS 1.3), CA 인증서 및 SSL 백엔드에서 사용할 수 있는 암호입니다.
sslConfiguration() 및 QSslConfiguration::defaultConfiguration()도 참조하세요 .
void QNetworkRequest::setTransferTimeout(int timeout)
timeout 을 밀리초 단위의 전송 시간 초과로 설정합니다.
setTransferTimeout(표준::크로노::밀리초), transferTimeout() 및 transferTimeoutAsDuration()도 참조하세요 .
[since 6.7]
void QNetworkRequest::setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout)
데이터가 교환되지 않으면 전송을 중단하는 시간 제한( duration )을 설정합니다.
타임아웃이 만료되기 전에 전송된 바이트가 없으면 전송이 중단됩니다. 0은 타이머가 설정되지 않았음을 의미합니다. 인수가 제공되지 않으면 타임아웃은 QNetworkRequest::DefaultTransferTimeout 입니다. 이 함수를 호출하지 않으면 타임아웃이 비활성화되고 0 값이 됩니다.
이 함수는 Qt 6.7에 도입되었습니다.
transferTimeoutAsDuration()도 참조하세요 .
void QNetworkRequest::setUrl(const QUrl &url)
이 네트워크 요청이 참조하는 URL을 url 으로 설정합니다.
url()도 참조하세요 .
QSslConfiguration QNetworkRequest::sslConfiguration() const
이 네트워크 요청의 SSL 구성을 반환합니다. 기본적으로 QSslConfiguration::defaultConfiguration()와 동일합니다.
setSslConfiguration() 및 QSslConfiguration::defaultConfiguration()도 참조하세요 .
[noexcept]
void QNetworkRequest::swap(QNetworkRequest &other)
이 네트워크 요청을 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.
int QNetworkRequest::transferTimeout() const
전송에 사용된 시간제한을 밀리초 단위로 반환합니다.
transferTimeoutAsDuration().count()를 int
으로 표현할 수 없는 경우 이 함수는 대신 INT_MAX
/INT_MIN
을 반환합니다.
setTransferTimeout() 및 transferTimeoutAsDuration()도 참조하세요 .
[since 6.7]
std::chrono::milliseconds QNetworkRequest::transferTimeoutAsDuration() const
데이터가 교환되지 않으면 전송이 중단되는 시간 초과 기간을 반환합니다.
기본 기간은 0이며, 이는 타임아웃이 사용되지 않음을 의미합니다.
이 함수는 Qt 6.7에 도입되었습니다.
setTransferTimeout(표준::크로노::밀리초)도 참조하세요 .
QUrl QNetworkRequest::url() const
이 네트워크 요청이 참조하는 URL을 반환합니다.
setUrl()도 참조하세요 .
bool QNetworkRequest::operator!=(const QNetworkRequest &other) const
이 객체가 other 과 같지 않으면 false
을 반환합니다.
operator==()도 참조하세요 .
QNetworkRequest &QNetworkRequest::operator=(const QNetworkRequest &other)
의 복사본을 만듭니다. other
bool QNetworkRequest::operator==(const QNetworkRequest &other) const
이 객체가 other 과 동일한 경우(즉, URL, 헤더 및 메타데이터 설정이 동일한 경우) true
을 반환합니다.
operator!=()도 참조하세요 .
멤버 변수 문서
const std::chrono::std::chrono::milliseconds QNetworkRequest::DefaultTransferTimeout
QNetworkRequest::TransferTimeoutConstant 밀리초의 전송 시간 초과입니다. setTransferTimeout ()가 인수 없이 호출될 때 사용됩니다.
© 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.