이 페이지에서

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)
(since 6.11) void setTcpKeepAliveIdleTimeBeforeProbes(std::chrono::seconds idle)
(since 6.11) void setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval)
(since 6.11) void setTcpKeepAliveProbeCount(int probes)
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)
(since 6.11) std::chrono::seconds tcpKeepAliveIdleTimeBeforeProbes() const
(since 6.11) std::chrono::seconds tcpKeepAliveIntervalBetweenProbes() const
(since 6.11) int tcpKeepAliveProbeCount() const
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::HttpStatusCodeAttribute0응답 전용, 유형: QMetaType::Int (기본값 없음) HTTP 서버에서 수신한 HTTP 상태 코드(예: 200, 304, 404, 401 등)를 나타냅니다. 연결이 HTTP 기반이 아닌 경우, 이 속성은 존재하지 않습니다.
QNetworkRequest::HttpReasonPhraseAttribute1응답 전용, 유형: QMetaType::QByteArray (기본값 없음) HTTP 서버로부터 수신된 HTTP 이유 문구(예: "Ok", "Found", "Not Found", "Access Denied" 등)를 나타냅니다. 이는 상태 코드(위 참조)를 사람이 읽을 수 있는 형태로 표현한 것입니다. 연결이 HTTP 기반이 아닌 경우, 이 속성은 존재하지 않습니다. 참고: HTTP/2를 사용할 때는 이유 문구가 사용되지 않습니다.
QNetworkRequest::RedirectionTargetAttribute2응답에만 해당, 유형: QMetaType::QUrl (기본값 없음) 이 속성이 존재하면 서버가 요청을 다른 URL로 리디렉션하고 있음을 나타냅니다. Network Access API는 QNetworkRequest::ManualRedirectPolicy 가 사용되지 않는 한 기본적으로 리디렉션을 따릅니다. 또한, QNetworkRequest::UserVerifiedRedirectPolicy 가 사용된 경우, 리디렉션을 따르지 않았을 때 이 속성이 설정됩니다. 반환된 URL은 상대 경로일 수 있습니다. QUrl::resolved()를 사용하여 이를 절대 URL로 변환하십시오.
QNetworkRequest::ConnectionEncryptedAttribute3응답 전용, 유형: QMetaType::Bool (기본값: false) 데이터가 암호화된(보안) 연결을 통해 획득되었는지 여부를 나타냅니다.
QNetworkRequest::CacheLoadControlAttribute4요청에만 해당, 유형: QMetaType::Int (기본값: QNetworkRequest::PreferNetwork) 캐시에 접근하는 방식을 제어합니다. 가능한 값은 QNetworkRequest::CacheLoadControl 에 명시된 값들입니다. 기본 QNetworkAccessManager 구현은 캐싱을 지원하지 않는다는 점에 유의하십시오. 그러나 특정 백엔드(예: 캐싱 프록시)에서는 이 속성을 사용하여 요청을 수정할 수 있습니다.
QNetworkRequest::CacheSaveControlAttribute5요청 전용, 유형: QMetaType::Bool (기본값: true) 가져온 데이터를 향후 사용을 위해 캐시에 저장할지 여부를 제어합니다. 값이 false인 경우, 가져온 데이터는 자동으로 캐시에 저장되지 않습니다. true인 경우, 데이터가 캐시 가능한 조건(캐시 가능 여부는 사용 중인 프로토콜에 따라 다름)을 충족하면 캐시에 저장될 수 있습니다.
QNetworkRequest::SourceIsFromCacheAttribute6응답에만 적용, 유형: QMetaType::Bool (기본값: false) 데이터가 캐시에서 가져온 것인지 여부를 나타냅니다.
QNetworkRequest::DoNotBufferUploadDataAttribute7요청 전용, 유형: QMetaType::Bool (기본값: false) 업로드 데이터를 버퍼링하기 위해 QNetworkAccessManager 코드가 허용되는지 여부를 나타냅니다(예: HTTP POST 수행 시). 이 플래그를 순차적 업로드 데이터와 함께 사용할 경우, ContentLengthHeader 헤더를 설정해야 합니다.
QNetworkRequest::HttpPipeliningAllowedAttribute8요청 전용, 유형: QMetaType::Bool (기본값: false) QNetworkAccessManager 코드가 이 요청에 대해 HTTP 파이플라이닝을 사용할 수 있는지 여부를 나타냅니다.
QNetworkRequest::HttpPipeliningWasUsedAttribute9응답 전용, 유형: QMetaType::Bool 이 응답을 수신할 때 HTTP 파이프라인이 사용되었는지 여부를 나타냅니다.
QNetworkRequest::CustomVerbAttribute10요청 전용, 유형: QMetaType::QByteArray 전송할 사용자 정의 HTTP Verb의 값을 저장합니다(GET, POST, PUT 및 DELETE 이외의 Verb 사용용). 이 Verb는 QNetworkAccessManager::sendCustomRequest()를 호출할 때 설정됩니다.
QNetworkRequest::CookieLoadControlAttribute11요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 요청에 'Cookie' 헤더를 전송할지 여부를 나타냅니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials를 명시적으로 true로 설정하지 않은 상태에서 크로스 오리진 XMLHttpRequest를 생성할 때 Qt WebKit에 의해 false로 설정됩니다. 자세한 내용은 여기를 참조하십시오. (이 값은 4.7 버전에서 도입되었습니다.)
QNetworkRequest::CookieSaveControlAttribute13요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 요청에 대한 응답으로 서버로부터 수신한 'Cookie' 헤더를 저장할지 여부를 나타냅니다. 이 속성은 요청을 생성한 자바스크립트에서 withCredentials를 명시적으로 true로 설정하지 않은 경우, Qt WebKit이 크로스 오리진 XMLHttpRequest를 생성할 때 false로 설정됩니다. 자세한 내용은 여기를 참조하십시오. (이 값은 4.7 버전에서 도입되었습니다.)
QNetworkRequest::AuthenticationReuseAttribute12요청 전용, 유형: QMetaType::Int (기본값: QNetworkRequest::Automatic) 사용 가능한 경우 요청에 캐시된 인증 자격 증명을 사용할지 여부를 나타냅니다. 이 속성이 QNetworkRequest::Manual 로 설정되어 있고 인증 메커니즘이 'Basic' 또는 'Digest'인 경우, 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가 설정된 경우의 '명문(cleartext)' HTTP/2에 적용됩니다.
QNetworkRequest::Http2WasUsedAttribute20응답 전용, 유형: QMetaType::Bool (기본값: false) 이 응답을 수신하는 데 HTTP/2가 사용되었는지 여부를 나타냅니다. (이 값은 5.9 버전에서 도입되었습니다.)
QNetworkRequest::EmitAllUploadProgressSignalsAttribute18요청에만 해당, 유형: QMetaType::Bool (기본값: false) 모든 업로드 신호를 발산해야 하는지 여부를 나타냅니다. 기본적으로 uploadProgress 신호는 100밀리초 간격으로만 발산됩니다. (이 값은 5.5 버전에서 도입되었습니다.)
QNetworkRequest::OriginalContentLengthAttribute21응답 전용, 유형: QMetaType::Int 데이터가 압축되고 요청이 자동 압축 해제 대상으로 표시된 경우, 헤더에서 무효화되어 제거되기 전의 원래 content-length 속성을 유지합니다. (이 값은 5.9 버전에서 도입되었습니다.)
QNetworkRequest::RedirectPolicyAttribute22요청 전용, 유형: QMetaType::Int, QNetworkRequest::RedirectPolicy 값 중 하나여야 합니다(기본값: NoLessSafeRedirectPolicy). (이 값은 5.9 버전에서 도입되었습니다.)
QNetworkRequest::Http2DirectAttribute23요청 전용, 유형: QMetaType::Bool (기본값: false) 이 속성이 설정되면, QNetworkAccessManager 는 초기 HTTP/2 프로토콜 협상 없이 HTTP/2 프로토콜을 사용하도록 강제합니다. 이 속성을 사용하려면 특정 서버가 HTTP/2를 지원한다는 사실을 미리 알고 있어야 합니다. 이 속성은 SSL 또는 Http2CleartextAllowedAttribute가 설정된 경우 '일반 텍스트' HTTP/2와 함께 작동합니다. HTTP/2 Direct가 지정된 상태에서 서버가 HTTP/2를 지원하지 않는 것으로 판명될 경우, QNetworkAccessManager 는 HTTP/1.1로 폴백을 시도하지 않고 연결을 포기합니다. Http2AllowedAttribute와 Http2DirectAttribute가 모두 설정된 경우, Http2DirectAttribute가 우선순위를 가집니다. (이 값은 5.11 버전에서 도입되었습니다.)
QNetworkRequest::AutoDeleteReplyOnFinishAttribute25요청에만 적용, 유형: QMetaType::Bool (기본값: false) 이 속성이 설정된 경우, QNetworkAccessManager 는 "finished"를 반환한 후 QNetworkReply 를 삭제합니다. (이 값은 5.14 버전에서 도입되었습니다.)
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute26요청 전용, 유형: QMetaType::Int 마지막 대기 중인 요청이 처리된 후 서버에 대한 TCP 연결(HTTP1 및 HTTP2)을 언제 닫아야 하는지 제어합니다. 설정되지 않은 경우 기본 타임아웃인 120초가 사용됩니다. 이 값을 음수(예: -1)로 설정하면 해당 요청에 대한 연결 캐싱이 비활성화됩니다. 즉, 연결이 캐시에 저장되거나 캐시에서 불러오지 않으며, 요청이 완료된 직후 연결이 종료됩니다. 이 값을 0으로 설정하면 사용 중에는 연결이 공유되지만, 대기열에 항목이 없으면 즉시 해제됩니다. 양수 값을 설정하면 사용자 정의 만료 시간(초 단위)을 지정합니다. (이 값은 6.3 버전에서 도입되었습니다.)
QNetworkRequest::Http2CleartextAllowedAttribute27요청에만 적용, 유형: QMetaType::Bool (기본값: false) 이 속성이 설정되면 QNetworkAccessManager 는 일반 텍스트(h2c라고도 함)를 통해 HTTP/2로 업그레이드를 시도하도록 지시합니다. Qt 7까지는 QT_NETWORK_H2C_ALLOWED 환경 변수를 설정하여 이 속성의 기본값을 true로 재정의할 수 있습니다. Http2AllowedAttribute가 설정되어 있지 않으면 이 속성은 무시됩니다. (이 값은 6.3 버전에서 도입되었습니다.)
QNetworkRequest::UseCredentialsAttribute28Requests 전용, 유형: QMetaType::Bool (기본값: false) 기본이 되는 XMLHttpRequest의 크로스사이트 Access-Control 요청을 자격 증명을 사용하여 수행해야 하는지 여부를 나타냅니다. 동일 출처 요청에는 영향을 미치지 않습니다. 이는 WebAssembly 플랫폼에만 적용됩니다. (이 값은 6.5 버전에서 도입되었습니다.)
QNetworkRequest::FullLocalServerNameAttribute29요청 전용, 유형: QMetaType::String 기본 QLocalSocket 에 사용될 전체 로컬 서버 이름을 저장합니다. 이 속성은 QLocalSocket 의 단순 이름 처리 방식만으로는 충분하지 않을 때, QNetworkAccessManager 가 특정 로컬 서버에 연결하는 데 사용됩니다. QNetworkRequest 의 URL은 여전히 unix+http: 또는 local+http: 스키마를 사용해야 합니다. 또한 URL의 호스트 이름은 HTTP 요청의 Host 헤더에 사용됩니다. (이 값은 6.8 버전에서 도입되었습니다.)
QNetworkRequest::User1000특수 유형. User에서 UserMax에 이르는 유형의 QVariant를 통해 추가 정보를 전달할 수 있습니다. Network Access의 기본 구현은 이 범위의 요청 속성을 모두 무시하며, 응답에서도 이 범위의 속성을 생성하지 않습니다. 이 범위는 QNetworkAccessManager 의 확장을 위해 예약되어 있습니다.
QNetworkRequest::UserMax32767특수 유형. User를 참조하십시오.

enum QNetworkRequest::CacheLoadControl

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

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

enum QNetworkRequest::KnownHeaders

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

상수값설명
QNetworkRequest::ContentDispositionHeader6HTTP Content-Disposition 헤더에 해당하며, 디스포지션 유형(예: attachment)과 매개변수(예: filename)를 포함하는 문자열을 포함합니다.
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)를 포함합니다. 일반적으로 If-Modified-Since 헤더( QNetworkRequest)에 추가됩니다. 이 시간 이후 리소스가 변경되지 않은 경우, 서버는 304(Not Modified) 응답을 보내야 합니다.
QNetworkRequest::ETagHeader10HTTP ETag 헤더에 해당하며, 콘텐츠의 최종 수정 상태를 나타내는 QString 를 포함합니다.
QNetworkRequest::IfMatchHeader11HTTP If-Match 헤더에 해당하며, QStringList 를 포함합니다. 일반적으로 QNetworkRequest 에 추가됩니다. 리소스가 일치하지 않는 경우, 서버는 412(Precondition Failed) 응답을 보내야 합니다.
QNetworkRequest::IfNoneMatchHeader12HTTP If-None-Match 헤더에 해당하며, QStringList 를 포함합니다. 일반적으로 QNetworkRequest 에 추가됩니다. 리소스가 일치하는 경우 서버는 304(Not Modified) 응답을 보내야 합니다.
QNetworkRequest::CookieHeader4HTTP Cookie 헤더에 해당하며, 서버로 다시 전송될 쿠키를 나타내는 QList<QNetworkCookie>를 포함합니다.
QNetworkRequest::SetCookieHeader5HTTP Set-Cookie 헤더에 해당하며, 서버에서 전송하여 로컬에 저장될 쿠키를 나타내는 QList<QNetworkCookie>를 포함합니다.
QNetworkRequest::UserAgentHeader7HTTP 클라이언트가 보내는 User-Agent 헤더입니다.
QNetworkRequest::ServerHeader8HTTP 클라이언트가 수신하는 Server 헤더입니다.

header(), setHeader(), rawHeader() 및 setRawHeader()도 참조하십시오 .

enum QNetworkRequest::LoadControl

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

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

enum QNetworkRequest::Priority

이 열거형은 가능한 네트워크 요청 우선순위를 나열합니다.

상수값설명
QNetworkRequest::HighPriority1높은 우선순위
QNetworkRequest::NormalPriority3일반 우선순위
QNetworkRequest::LowPriority5낮은 우선순위

enum QNetworkRequest::RedirectPolicy

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

상수값설명
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전송 타임아웃(밀리초 단위). setTransferTimeout() 함수가 인자 없이 호출될 때 사용됩니다.

QNetworkRequest::DefaultTransferTimeout도 참조하십시오 .

멤버 함수 설명서

QNetworkRequest::QNetworkRequest()

요청할 URL이 없는 QNetworkRequest 객체를 생성합니다. URL을 설정하려면 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 `를 반환합니다.

참고: Qt 6.7 이전버전에서는 이 함수가 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입니다

기본적으로 서버 푸시(server push)는 비활성화되어 있으며, 허프만 압축(Huffman compression)과 문자열 인덱싱(string indexing)은 활성화되어 있습니다.

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()을 사용하여 설정할 수 있습니다.

참고: Qt 6.7 이전버전에서는 이 함수가 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 XML은 압축 비율을 확인합니다. 압축 비율이 비정상적으로 높을 경우(GZip 및 Deflate의 경우 40:1, Brotli 및 ZStandard의 경우 100:1), 해당 응답은 오류로 처리됩니다. 임계값을 -1 로 설정하면 이 검사가 비활성화됩니다.

참고: 이 검사는 비정상적으로 높은 압축 비율을 가진 응답만 감지합니다. 총 압축 해제 후 출력 크기에 대한 절대적인 제한을 부과하지는 않습니다. 적정한 압축 비율(예: GZip의 경우 39:1)을 유지하는 응답은 검사가 발동되지 않은 채로 임의로 큰 크기로 압축 해제될 수 있습니다. 신뢰할 수 없는 서버와 통신하는 애플리케이션은 QNetworkReply::bytesAvailable() 또는 QNetworkReply::downloadProgress()을 모니터링하고, 허용 가능한 크기를 초과하는 전송은 중단해야 합니다.

이 함수는 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()도 참조하십시오 .

[since 6.11] void QNetworkRequest::setTcpKeepAliveIdleTimeBeforeProbes(std::chrono::seconds idle)

TCP Keepalive 기능이 활성화된 경우, TCP가 keepalive 프로브를 전송하기 시작하기까지 연결이 유휴 상태로 유지되어야 하는 시간을 ‘ idle ’로 설정합니다.

이 함수는 Qt 6.11에서 도입되었습니다.

tcpKeepAliveIdleTimeBeforeProbes()도 참조하십시오 .

[since 6.11] void QNetworkRequest::setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval)

TCP Keepalive 기능이 활성화된 경우, 개별 Keepalive 프로브 간의 간격을 interval 로 설정합니다.

이 함수는 Qt 6.11에서 도입되었습니다.

tcpKeepAliveIntervalBetweenProbes()도 참조하십시오 .

[since 6.11] void QNetworkRequest::setTcpKeepAliveProbeCount(int probes)

TCP Keepalive 기능이 활성화된 경우, TCP가 연결을 끊기 전에 전송해야 하는 최대 키프얼라이브 probes 수를 설정합니다.

이 함수는 Qt 6.11에서 도입되었습니다.

tcpKeepAliveProbeCount()도 참조하십시오 .

void QNetworkRequest::setTransferTimeout(int timeout)

timeout 를 전송 타임아웃(밀리초 단위)으로 설정합니다.

setTransferTimeout(std::chrono::milliseconds), 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 로 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.

[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIdleTimeBeforeProbes() const

TCP Keepalive 기능이 활성화된 경우, TCP가 keepalive 프로브를 전송하기 시작하기까지 연결이 유휴 상태로 유지되어야 하는 시간을 반환합니다.

이 함수는 Qt 6.11에서 도입되었습니다.

setTcpKeepAliveIdleTimeBeforeProbes()도 참조하십시오 .

[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIntervalBetweenProbes() const

TCP Keepalive 기능이 활성화된 경우, 개별 Keepalive 프로브 간의 시간 간격을 반환합니다.

이 함수는 Qt 6.11에서 도입되었습니다.

setTcpKeepAliveIntervalBetweenProbes()도 참조하십시오 .

[since 6.11] int QNetworkRequest::tcpKeepAliveProbeCount() const

TCP Keepalive 기능이 활성화된 경우, TCP가 연결을 끊기 전에 전송해야 하는 최대 키프얼라이브 프로브 횟수를 반환합니다.

이 함수는 Qt 6.11에서 도입되었습니다.

setTcpKeepAliveProbeCount()도 참조하십시오 .

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(std::chrono::milliseconds)도 참조하십시오 .

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() 함수가 인자 없이 호출될 때 사용됩니다.

© 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.