このページでは

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は相対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 動詞の値を保持します(GET、POST、PUT、DELETE 以外の動詞を使用する場合に指定します)。この動詞は、QNetworkAccessManager::sendCustomRequest() を呼び出す際に設定されます。
QNetworkRequest::CookieLoadControlAttribute11リクエストのみ、型:QMetaType::Int (デフォルト:QNetworkRequest::Automatic) リクエストで「Cookie」ヘッダーを送信するかどうかを示します。この属性は、リクエストを作成した JavaScript によって withCredentials が明示的に true に設定されていない場合、クロスオリジン XMLHttpRequest を作成する際に Qt WebKit によって false に設定されます。 詳細についてはこちらを参照してください。(この値は 4.7 で導入されました。)
QNetworkRequest::CookieSaveControlAttribute13リクエストのみ、タイプ:QMetaType::Int (デフォルト:QNetworkRequest::Automatic ) リクエストへの応答としてサーバーから受信した「Cookie」ヘッダーを保存するかどうかを示します。 この属性は、リクエストを作成した JavaScript によって withCredentials が明示的に true に設定されていないクロスオリジン XMLHttpRequest を作成する際、Qt WebKit によって false に設定されます。詳細については、こちらをご覧ください。(この値は 4.7 で導入されました。)
QNetworkRequest::AuthenticationReuseAttribute12リクエストのみ、タイプ:QMetaType::Int (デフォルト:QNetworkRequest::Automatic ) 利用可能な場合、リクエストでキャッシュされた認証情報を使用するかどうかを示します。これがQNetworkRequest::Manual に設定され、認証メカニズムが「Basic」または「Digest」である場合、QtはリクエストのURLに対して保持しているキャッシュされた認証情報を含む「Authorization」HTTPヘッダーを送信しません。 この属性は、リクエストを作成したJavaScriptによってwithCredentialsが明示的にtrueに設定されていない場合、Qt WebKitがクロスオリジンXMLHttpRequestを作成する際に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 データが圧縮され、リクエストが自動的に解凍されるようにマークされている場合、無効化されてヘッダーから削除される前の元の 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 に対し、平文経由でのHTTP/2へのアップグレード(h2cとも呼ばれる)を試行するよう指示します。 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 を含みます。通常、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

Network Access 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を使用してredirectedリクエストを発行します。

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

このリクエストの基盤となる HTTP/1 接続に対して、QNetworkAccessManager が現在使用しているパラメータを返します。

この関数は 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() を使用して設定できます。

注: 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は圧縮率をチェックします。圧縮率が不合理に高い場合(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 では、1 つの 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 オブジェクトが設定されます。

注: 同じヘッダーを 2回設定すると 、以前の設定が上書きされます。同じ名前の複数の HTTP ヘッダーの挙動を実現するには、2 つの値をコンマ(",")で区切って連結し、1 つの生のヘッダーとして設定する必要があります。

注: 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のキープアライブ機能が有効になっている場合、TCPがキープアライブプローブの送信を開始するまでの接続のアイドル状態の持続時間をidle に設定します。

この関数は Qt 6.11 で導入されました。

tcpKeepAliveIdleTimeBeforeProbes()も参照してください 。

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

TCPキープアライブ機能が有効になっている場合、個々のキープアライブプローブ間の間隔をinterval に設定します。

この関数は Qt 6.11 で導入されました。

tcpKeepAliveIntervalBetweenProbes()も参照してください 。

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

TCPのキープアライブ機能が有効になっている場合、接続を切断する前に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キープアライブ機能が有効になっている場合、TCPがキープアライブプローブの送信を開始するまでに、接続がアイドル状態である必要がある時間を返します。

この関数は Qt 6.11 で導入されました。

setTcpKeepAliveIdleTimeBeforeProbes()も参照してください 。

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

TCPキープアライブ機能が有効になっている場合、個々のキープアライブプローブ間の時間を返します。

この関数は Qt 6.11 で導入されました。

setTcpKeepAliveIntervalBetweenProbes()も参照してください 。

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

TCPのキープアライブ機能が有効になっている場合、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.