QNetworkRequest Class

QNetworkRequest 클래스는 QNetworkAccessManager 로 전송할 요청을 보관합니다. 더 보기...

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

공용 유형

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과 요청을 수정하는 데 사용할 수 있는 몇 가지 보조 정보가 포함되어 있습니다.

QNetworkReplyQNetworkAccessManager참조하세요 .

멤버 유형 문서

enum QNetworkRequest::Attribute

QNetworkRequestQNetworkReply 에 대한 속성 코드.

속성은 요청의 동작을 제어하고 응답의 추가 정보를 애플리케이션에 다시 전달하는 데 사용되는 추가 메타 데이터입니다. 어트리뷰트는 확장도 가능하므로 사용자 정의 구현에서 사용자 정의 값을 전달할 수 있습니다.

다음 표에서는 기본 속성 코드, 연결된 QVariant 유형, 해당 속성이 누락된 경우 기본값, 요청 또는 응답에 사용되는지 여부에 대해 설명합니다.

상수설명
QNetworkRequest::HttpStatusCodeAttribute0응답 전용, 유형: QMetaType::Int (기본값 없음) HTTP 서버에서 받은 HTTP 상태 코드(예: 200, 304, 404, 401 등)를 나타냅니다. 연결이 HTTP 기반이 아닌 경우 이 속성은 존재하지 않습니다.
QNetworkRequest::HttpReasonPhraseAttribute1응답 전용, 유형: QMetaType::QByteArray (기본값 없음) HTTP 서버에서 받은 HTTP 이유 문구("확인", "찾음", "찾을 수 없음", "액세스 거부" 등)를 표시합니다. 이는 사람이 읽을 수 있는 상태 코드의 표현입니다(위 참조). 연결이 HTTP 기반이 아닌 경우 이 속성은 표시되지 않습니다. 참고: HTTP/2를 사용할 때는 이유 문구를 사용하지 않습니다.
QNetworkRequest::RedirectionTargetAttribute2응답 전용, 유형: QMetaType::QUrl (기본값 없음) 존재하면 서버가 요청을 다른 URL로 리디렉션하고 있음을 나타냅니다. QNetworkRequest::ManualRedirectPolicy 을 사용하지 않는 한 네트워크 액세스 API는 기본적으로 리디렉션을 따릅니다. 또한 QNetworkRequest::UserVerifiedRedirectPolicy 을 사용하는 경우 리디렉션이 따르지 않은 경우 이 속성이 설정됩니다. 반환된 URL은 상대 URL일 수 있습니다. QUrl::resolved ()를 사용하여 절대 URL을 만들 수 있습니다.
QNetworkRequest::ConnectionEncryptedAttribute3응답 전용, 유형: QMetaType::Bool (기본값: false) 데이터가 암호화된(보안) 연결을 통해 가져왔는지 여부를 나타냅니다.
QNetworkRequest::CacheLoadControlAttribute4요청만, 유형: QMetaType::Int (기본값: QNetworkRequest::PreferNetwork) 캐시에 액세스하는 방법을 제어합니다. 사용 가능한 값은 QNetworkRequest::CacheLoadControl 입니다. 기본값 QNetworkAccessManager 구현은 캐싱을 지원하지 않습니다. 그러나 특정 백엔드에서 이 속성을 사용하여 요청을 수정할 수 있습니다(예: 프록시 캐싱).
QNetworkRequest::CacheSaveControlAttribute5요청 전용, 유형: QMetaType::Bool (기본값: true) 획득한 데이터를 나중에 사용할 수 있도록 캐시에 저장할지 여부를 제어합니다. 값이 false이면 가져온 데이터가 자동으로 캐시되지 않습니다. 참이면 캐시 가능한 데이터인 경우 데이터를 캐시할 수 있습니다(캐시 가능한 데이터는 사용 중인 프로토콜에 따라 다름).
QNetworkRequest::SourceIsFromCacheAttribute6응답 전용, 유형: QMetaType::Bool (기본값: false) 데이터를 캐시에서 가져왔는지 여부를 나타냅니다.
QNetworkRequest::DoNotBufferUploadDataAttribute7요청만, 유형: QMetaType::Bool (기본값: false) HTTP POST를 수행할 때 QNetworkAccessManager 코드가 업로드 데이터를 버퍼링할 수 있는지 여부를 나타냅니다. 순차 업로드 데이터에 이 플래그를 사용하는 경우 ContentLengthHeader 헤더를 설정해야 합니다.
QNetworkRequest::HttpPipeliningAllowedAttribute8요청 전용, 유형: QMetaType::Bool (기본값: false) QNetworkAccessManager 코드가 이 요청에 HTTP 파이프라이닝을 사용할 수 있는지 여부를 나타냅니다.
QNetworkRequest::HttpPipeliningWasUsedAttribute9응답 전용, 유형: QMetaType::Bool 이 응답을 수신하는 데 HTTP 파이프라이닝이 사용되었는지 여부를 나타냅니다.
QNetworkRequest::CustomVerbAttribute10요청만, 유형: QMetaType::QByteArray 전송할 사용자 지정 HTTP 동사의 값을 보유합니다(GET, POST, PUT 및 DELETE 이외의 다른 동사 사용 대상). 이 동사는 QNetworkAccessManager::sendCustomRequest()를 호출할 때 설정됩니다.
QNetworkRequest::CookieLoadControlAttribute11요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 요청에 '쿠키' 헤더를 보낼지 여부를 나타냅니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials가 명시적으로 true로 설정되지 않은 교차 출처 XMLHttpRequest를 생성할 때 Qt WebKit에서 false로 설정됩니다. 자세한 내용은 여기를 참조하세요. (이 값은 4.7에 도입되었습니다.)
QNetworkRequest::CookieSaveControlAttribute13요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 요청에 대한 응답으로 서버로부터 받은 '쿠키' 헤더를 저장할지 여부를 나타냅니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials가 명시적으로 true로 설정되지 않은 교차 출처 XMLHttpRequest를 생성할 때 Qt WebKit에서 false로 설정됩니다. 자세한 내용은 여기를 참조하세요. (이 값은 4.7에 도입되었습니다.)
QNetworkRequest::AuthenticationReuseAttribute12요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 사용 가능한 경우 요청에 캐시된 인증 자격 증명을 사용할지 여부를 나타냅니다. 이 값이 QNetworkRequest::Manual 로 설정되어 있고 인증 메커니즘이 '기본' 또는 '다이제스트'인 경우, Qt는 요청의 URL에 대해 캐시된 자격 증명이 있는 'Authorization' HTTP 헤더를 보내지 않습니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials가 명시적으로 true로 설정되지 않은 교차 출처 XMLHttpRequest를 생성할 때 Qt WebKit에서 QNetworkRequest::Manual 로 설정됩니다. 자세한 내용은 여기를 참조하세요. (이 값은 4.7에 도입되었습니다.)
QNetworkRequest::BackgroundRequestAttribute17유형: QMetaType::Bool (기본값: false) 사용자가 시작한 전송이 아닌 백그라운드 전송임을 나타냅니다. 플랫폼에 따라 백그라운드 전송에는 다른 정책이 적용될 수 있습니다.
QNetworkRequest::Http2AllowedAttribute19요청 전용, 유형: QMetaType::Bool (기본값: true) QNetworkAccessManager 코드가 이 요청에 HTTP/2를 사용할 수 있는지 여부를 나타냅니다. 이는 SSL 요청 또는 Http2CleartextAllowedAttribute가 설정된 경우 '일반 텍스트' HTTP/2에 적용됩니다.
QNetworkRequest::Http2WasUsedAttribute20응답 전용, 유형: QMetaType::Bool (기본값: false) 이 응답 수신에 HTTP/2가 사용되었는지 여부를 나타냅니다. (이 값은 5.9에 도입되었습니다.)
QNetworkRequest::EmitAllUploadProgressSignalsAttribute18요청만, 유형: QMetaType::Bool (기본값: false) 모든 업로드 신호를 전송할지 여부를 나타냅니다. 기본적으로 uploadProgress 신호는 100밀리초 간격으로만 전송됩니다. (이 값은 5.5에 도입되었습니다.)
QNetworkRequest::OriginalContentLengthAttribute21응답 전용, QMetaType::Int 데이터가 압축되고 요청이 자동으로 압축 해제되도록 표시된 경우 무효화되고 헤더에서 제거되기 전에 원래 콘텐츠 길이 속성을 유지합니다. (이 값은 5.9에 도입되었습니다.)
QNetworkRequest::RedirectPolicyAttribute22요청 전용, 유형: QMetaType::IntQNetworkRequest::RedirectPolicy 값 중 하나여야 합니다(기본값: NoLessSafeRedirectPolicy). (이 값은 5.9에 도입되었습니다.)
QNetworkRequest::Http2DirectAttribute23요청만, 유형: 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::AutoDeleteReplyOnFinishAttribute25요청 전용, 유형: QMetaType::Bool (기본값: false) 이 속성을 설정하면 QNetworkAccessManager 이 "완료"를 보낸 후 QNetworkReply 을 삭제합니다. (이 값은 5.14에 도입되었습니다.)
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute26요청만, 입력합니다: QMetaType::Int 마지막 보류 중인 요청이 처리된 후 서버에 대한 TCP 연결(HTTP1 및 HTTP2)을 닫을 시기를 설정합니다. (이 값은 6.3에 도입되었습니다.)
QNetworkRequest::Http2CleartextAllowedAttribute27요청 전용, 유형: QMetaType::Bool (기본값: false) 이 속성을 설정하면 QNetworkAccessManager 에 투명 텍스트를 통한 HTTP/2(h2c라고도 함)로의 업그레이드를 시도하라고 알려줍니다. Qt 7까지는 이 속성의 기본값을 QT_NETWORK_H2C_ALLOWED 환경 변수를 설정하여 true로 재정의할 수 있습니다. Http2AllowedAttribute가 설정되지 않은 경우 이 속성은 무시됩니다. (이 값은 6.3에 도입되었습니다.)
QNetworkRequest::UseCredentialsAttribute28요청 전용, 유형: QMetaType::Bool (기본값: false) 기본 XMLHttpRequest 교차 사이트 액세스 제어 요청이 자격 증명을 사용하여 이루어져야 하는지 여부를 나타냅니다. 동일한 출처 요청에는 영향을 미치지 않습니다. WebAssembly 플랫폼에만 영향을 줍니다. (이 값은 6.5에 도입되었습니다.)
QNetworkRequest::FullLocalServerNameAttribute29요청 전용, 유형: QMetaType::String 기본 QLocalSocket 에 사용할 전체 로컬 서버 이름을 보유합니다. 이 속성은 QLocalSocket 의 단순한 이름으로는 충분하지 않은 경우 QNetworkAccessManager 에서 특정 로컬 서버에 연결하기 위해 사용됩니다. QNetworkRequest 의 URL은 여전히 unix+http: 또는 local+http: 구문을 사용해야 합니다. 그리고 URL의 호스트 이름은 HTTP 요청의 호스트 헤더에 사용됩니다. (이 값은 6.8에 도입되었습니다.)
QNetworkRequest::User1000특수 유형. 추가 정보는 User에서 UserMax에 이르는 다양한 유형의 QVariants로 전달할 수 있습니다. 네트워크 액세스의 기본 구현은 이 범위의 모든 요청 속성을 무시하며 응답에서 이 범위의 속성을 생성하지 않습니다. 이 범위는 QNetworkAccessManager 의 확장을 위해 예약되어 있습니다.
QNetworkRequest::UserMax32767특수 유형. 사용자 참조.

enum QNetworkRequest::CacheLoadControl

QNetworkAccessManager 의 캐싱 메커니즘을 제어합니다.

Constant설명
QNetworkRequest::AlwaysNetwork0항상 네트워크에서 로드하고 캐시에 유효한 항목이 있는지 확인하지 않습니다(브라우저의 '다시 로드' 기능과 유사); 또한 중간 캐시가 재검증하도록 강제합니다.
QNetworkRequest::PreferNetwork1기본값; 캐시된 항목이 네트워크 항목보다 오래된 경우 네트워크에서 로드합니다. 이렇게 하면 캐시에서 오래된 데이터를 반환하지 않지만 오래된 리소스의 유효성을 다시 검사합니다.
QNetworkRequest::PreferCache2가능한 경우 캐시에서 로드하고, 그렇지 않으면 네트워크에서 로드합니다. 캐시에서 오래된(만료되지는 않았지만) 항목을 반환할 수 있습니다.
QNetworkRequest::AlwaysCache3캐시에서 로드만 수행하여 항목이 캐시되지 않은 경우(즉, 오프라인 모드) 오류를 표시합니다.

enum QNetworkRequest::KnownHeaders

QNetworkRequest 에서 구문 분석하는 알려진 헤더 유형 목록입니다. 각 알려진 헤더는 전체 HTTP 이름과 함께 원시 형태로도 표시됩니다.

Constant설명
QNetworkRequest::ContentDispositionHeader6HTTP Content-Disposition 헤더에 해당하며 처리 유형(예: 첨부 파일)과 매개 변수(예: 파일 이름)가 포함된 문자열을 포함합니다.
QNetworkRequest::ContentTypeHeader0HTTP Content-Type 헤더에 해당하며 미디어(MIME) 유형과 보조 데이터(예: 문자셋)가 포함된 문자열을 포함합니다.
QNetworkRequest::ContentLengthHeader1HTTP Content-Length 헤더에 해당하며 전송된 데이터의 바이트 단위 길이를 포함합니다.
QNetworkRequest::LocationHeader2HTTP Location 헤더에 해당하며 리디렉션의 경우 대상 URL을 포함하여 데이터의 실제 위치를 나타내는 URL을 포함합니다.
QNetworkRequest::LastModifiedHeader3HTTP Last-Modified 헤더에 해당하며 콘텐츠의 마지막 수정 날짜를 나타내는 QDateTime 을 포함합니다.
QNetworkRequest::IfModifiedSinceHeader9HTTP If-Modified-Since 헤더에 해당하며 QDateTime 을 포함합니다. 일반적으로 QNetworkRequest 에 추가됩니다. 이 시간 이후 리소스가 변경되지 않은 경우 서버는 304(Not Modified) 응답을 전송합니다.
QNetworkRequest::ETagHeader10HTTP ETag 헤더에 해당하며 콘텐츠의 마지막 수정 상태를 나타내는 QString 을 포함합니다.
QNetworkRequest::IfMatchHeader11HTTP If-Match 헤더에 대응하며 QStringList 을 포함합니다. 일반적으로 QNetworkRequest 에 추가됩니다. 리소스가 일치하지 않으면 서버는 412(전제 조건 실패) 응답을 전송합니다.
QNetworkRequest::IfNoneMatchHeader12HTTP If-None-Match 헤더에 해당하며 QStringList. 일반적으로 QNetworkRequest 에 추가됩니다. 리소스가 일치하면 서버는 304(수정되지 않음) 응답을 보냅니다.
QNetworkRequest::CookieHeader4HTTP 쿠키 헤더에 해당하며 서버로 다시 전송할 쿠키를 나타내는 QList<QNetworkCookie>를 포함합니다.
QNetworkRequest::SetCookieHeader5HTTP Set-Cookie 헤더에 해당하며 서버에서 로컬로 저장할 쿠키를 나타내는 QList<QNetworkCookie>를 포함합니다.
QNetworkRequest::UserAgentHeader7HTTP 클라이언트가 전송하는 User-Agent 헤더입니다.
QNetworkRequest::ServerHeader8HTTP 클라이언트가 수신한 서버 헤더.

header(), setHeader(), rawHeader() 및 setRawHeader()도 참조하세요 .

enum QNetworkRequest::LoadControl

요청의 로딩 메커니즘의 일부가 수동으로 재정의되었는지 여부(예: Qt WebKit)를 나타냅니다.

Constant설명
QNetworkRequest::Automatic0기본값: 기본 동작을 나타냅니다.
QNetworkRequest::Manual1동작이 수동으로 재정의되었음을 나타냅니다.

enum QNetworkRequest::Priority

이 열거형에는 가능한 네트워크 요청 우선 순위가 나열됩니다.

Constant설명
QNetworkRequest::HighPriority1높은 우선순위
QNetworkRequest::NormalPriority3보통 우선순위
QNetworkRequest::LowPriority5낮은 우선순위

enum QNetworkRequest::RedirectPolicy

네트워크 액세스 API가 HTTP 리디렉션 응답을 자동으로 따라야 하는지 여부를 나타냅니다.

Constant설명
QNetworkRequest::ManualRedirectPolicy0리디렉션을 따르지 않습니다.
QNetworkRequest::NoLessSafeRedirectPolicy1기본값입니다: "http"->"http", "http"->"https" 또는 "https"->"https" 리디렉션만 허용됩니다.
QNetworkRequest::SameOriginRedirectPolicy2동일한 프로토콜, 호스트 및 포트가 필요합니다. http://example.com 와 http://example.com:80 은 이 정책에서 실패합니다(암시적/명시적 포트는 불일치로 간주됩니다).
QNetworkRequest::UserVerifiedRedirectPolicy3클라이언트는 redirected() 신호를 처리하여 QNetworkReply 객체에서 redirectAllowed()를 전송하여 리디렉션을 허용하거나 중단/종료하여 리디렉션을 거부함으로써 각 리디렉션을 따를지 여부를 결정합니다. 예를 들어 사용자에게 리디렉션을 수락할지 여부를 묻거나 앱별 구성에 따라 결정할 때 이 함수를 사용할 수 있습니다.

참고: Qt가 리디렉션을 처리할 때 레거시 및 호환성상의 이유로 서버가 301 또는 302 응답을 반환하면 원래 사용된 메서드에 관계없이 HEAD가 아닌 경우 GET을 사용하여 리디렉션된 요청을 발행합니다.

enum QNetworkRequest::TransferTimeoutConstant

미리 설정된 값으로 전송 시간 초과를 활성화하는 데 사용할 수 있는 상수입니다.

상수설명
QNetworkRequest::DefaultTransferTimeoutConstant30000밀리초 단위의 전송 시간 제한입니다. 인자 없이 setTimeout()이 호출될 때 사용됩니다.

QNetworkRequest::DefaultTransferTimeout참조하세요 .

멤버 함수 문서

QNetworkRequest::QNetworkRequest()

요청할 URL이 없는 QNetworkRequest 객체를 생성합니다. setUrl ()를 사용하여 설정합니다.

url() 및 setUrl()도 참조하세요 .

[explicit] QNetworkRequest::QNetworkRequest(const QUrl &url)

요청할 URL을 url 로 사용하여 QNetworkRequest 객체를 구축합니다.

url() 및 setUrl()도 참조하세요 .

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()도 참조하세요 .

이 요청에 알려진 네트워크 헤더가 있으면 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.