QNetworkRequest Class

QNetworkRequest クラスは、QNetworkAccessManager で送信するリクエストを保持します。詳細...

Header: #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 と、リクエストを変更するために使用できる補助的な情報が含まれています。

QNetworkReply およびQNetworkAccessManagerも参照

メンバータイプのドキュメント

enum QNetworkRequest::Attribute

QNetworkRequestQNetworkReply の属性コード。

属性はリクエストの動作を制御したり、リプライからアプリケーションに更なる 情報を渡したりするために使われる、特別なメタデータである。属性はまた拡張可能であり、カスタム実装がカスタム値を渡すことを 可能にする。

以下の表は、デフォルトの属性コード、関連するQVariant 型、属性が見つからない場合のデフォルト値、リクエストとリプライの どちらで使われるかを説明しています。

定数説明
QNetworkRequest::HttpStatusCodeAttribute0返信のみ、タイプ:QMetaType::Int (デフォルトなし) HTTPサーバーから受け取ったHTTPステータスコードを示します(200, 304, 404, 401など)。接続が HTTP ベースでない場合、この属性は存在しません。
QNetworkRequest::HttpReasonPhraseAttribute1Replies only, type:QMetaType::QByteArray (no default) HTTP サーバーから受け取った HTTP 理由フレーズを示します (例えば "Ok", "Found", "Not Found", "Access Denied" など)。接続が HTTP ベースでない場合、この属性は存在しません。注意:HTTP/2 を使用している場合、理由フレーズは使用されません。
QNetworkRequest::RedirectionTargetAttribute2reply only, type:QMetaType::QUrl (no default) 存在する場合、サーバーがリクエストを別の URL にリダイレクトしていることを示します。Network Access API は、QNetworkRequest::ManualRedirectPolicy が使われない限り、デフォルトでリダイレクトに従います。さらに、QNetworkRequest::UserVerifiedRedirectPolicy が使用されている場合、リダイレクトに従わなかった場合はこの属性が設定されます。返されるURLは相対URLかもしれません。絶対URLを作成するには、QUrl::resolved ()を使用してください。
QNetworkRequest::ConnectionEncryptedAttribute3Reply only, type:QMetaType::Bool (default: false) データが暗号化された(安全な)接続を通して取得されたかどうかを示します。
QNetworkRequest::CacheLoadControlAttribute4Requests only, type:QMetaType::Int (default:QNetworkRequest::PreferNetwork) キャッシュへのアクセス方法を制御します。指定可能な値はQNetworkRequest::CacheLoadControl の値です。 デフォルトのQNetworkAccessManager 実装はキャッシュに対応していないことに注意してください。しかし、この属性は特定のバックエンドがリクエストを修正するために 使用されるかもしれません(例えば、キャッシュプロキシなど)。
QNetworkRequest::CacheSaveControlAttribute5Requests only, type:QMetaType::Bool (default: true) 取得したデータを将来の使用のためにキャッシュに保存するかどうかを制御します。値が false の場合、取得したデータは自動的にキャッシュされません。trueの場合、キャッシュ可能なデータであればキャッシュされます(何がキャッシュ可能かは使用するプロトコルに依存します)。
QNetworkRequest::SourceIsFromCacheAttribute6Replies only, type:QMetaType::Bool (default: false) データがキャッシュから取得されたかどうかを示す。
QNetworkRequest::DoNotBufferUploadDataAttribute7Requests only, type:QMetaType::Bool (default: false) HTTP POST のときなど、QNetworkAccessManager コードがアップロードデータをバッファリングすることを許可するかどうかを示します。シーケンシャルなアップロードデータでこのフラグを使用する場合、ContentLengthHeader ヘッダが設定されていなければなりません。
QNetworkRequest::HttpPipeliningAllowedAttribute8Requests only, type:QMetaType::Bool (default: false)QNetworkAccessManager コードがこのリクエストでHTTPパイプラインの使用を許可されているかどうかを示す。
QNetworkRequest::HttpPipeliningWasUsedAttribute9返信のみ、タイプ: QMetaType::Bool このリプライの受信に HTTP パイプラインが使われたかどうかを示します。
QNetworkRequest::CustomVerbAttribute10リクエストのみ、タイプ: QMetaType::QByteArray 送信するカスタムHTTP動詞の値を保持する(GET、POST、PUT、DELETE以外の動詞の使用目的)。この動詞は、QNetworkAccessManager::sendCustomRequest()を呼び出すときに設定される。
QNetworkRequest::CookieLoadControlAttribute11Requests only, type:QMetaType::Int (default:QNetworkRequest::Automatic) リクエストで「Cookie」ヘッダーを送るかどうかを示す。この属性は、リクエストを作成した Javascript によって withCredentials が明示的に true に設定されていないクロスオリジン XMLHttpRequest を作成するときに、Qt WebKit によって false に設定されます。詳細はこちらを参照してください。(この値は 4.7 で導入されました)。
QNetworkRequest::CookieSaveControlAttribute13Requests only, type:QMetaType::Int (default:QNetworkRequest::Automatic) リクエストに対する返信でサーバから受け取った 'Cookie' ヘッダを保存するかどうかを示します。この属性は、リクエストを作成した Javascript によって withCredentials が明示的に true に設定されていないクロスオリジン XMLHttpRequest を作成するときに、Qt WebKit によって false に設定されます。詳細はこちらを参照してください。(この値は 4.7 で導入されました)。
QNetworkRequest::AuthenticationReuseAttribute12Requests only, type:QMetaType::Int (default:QNetworkRequest::Automatic) キャッシュされた認証情報をリクエストで使用するかどうかを示します。これがQNetworkRequest::Manual に設定され、認証メカニズムが 'Basic' または 'Digest' の場合、Qt はリクエストの URL にキャッシュされた認証情報を 'Authorization' HTTP ヘッダとして送信しません。この属性は、リクエストを作成した Javascript によって withCredentials が明示的に true に設定されていないクロスオリジン XMLHttpRequest を作成するときに、Qt WebKit によってQNetworkRequest::Manual に設定されます。詳細はこちらを参照してください。(この値は 4.7 で導入されました)。
QNetworkRequest::BackgroundRequestAttribute17Type:QMetaType::Bool (default: false) ユーザ主導の転送ではなく、バックグラウンド転送であることを示す。プラットフォームによっては、バックグラウンド転送には異なるポリシーが適用されるかもしれません。
QNetworkRequest::Http2AllowedAttribute19Requests only, type:QMetaType::Bool (default: true) このリクエストでQNetworkAccessManager コードが HTTP/2 の使用を許可されているかどうかを示します。Http2CleartextAllowedAttribute が設定されている場合、これは SSL リクエストか 'cleartext' HTTP/2 に適用されます。
QNetworkRequest::Http2WasUsedAttribute20Replies only, type:QMetaType::Bool (default: false) このリプライの受信に HTTP/2 が使われたかどうかを示す。(この値は5.9で導入された)。
QNetworkRequest::EmitAllUploadProgressSignalsAttribute18Requests only, type:QMetaType::Bool (default: false) すべてのアップロードシグナルを発するかどうかを示す。デフォルトでは、uploadProgressシグナルは100ミリ秒間隔でのみ発信される。(この値は5.5で導入された)。
QNetworkRequest::OriginalContentLengthAttribute21返信のみ、タイプQMetaType::Int データが圧縮され、リクエストが自動的に解凍されるようにマーク されたときに、無効化されてヘッダーから削除される前のオリジナルの content-length属性を保持する。(この値は5.9で導入された)。
QNetworkRequest::RedirectPolicyAttribute22リクエストのみ、type:QMetaType::Intには、QNetworkRequest::RedirectPolicy 値のいずれかを指定する必要がある(デフォルト:NoLessSafeRedirectPolicy)。(この値は5.9で導入された)。
QNetworkRequest::Http2DirectAttribute23Requests only, type:QMetaType::Bool (default: false) 設定されると、この属性はQNetworkAccessManager に最初の HTTP/2 プロトコルのネゴシエーションなしで HTTP/2 プロトコルを使わせます。この属性の使用は、特定のサーバが HTTP/2 をサポートしているという事前知識を意味します。Http2CleartextAllowedAttribute が設定されている場合、この属性は SSL または 'cleartext' HTTP/2 で動作します。HTTP/2 direct が指定されたときに、サーバが HTTP/2 をサポートしていないことが判明した場合、QNetworkAccessManager は、HTTP/1.1 にフォールバックしようとせずに諦めます。Http2AllowedAttributeとHttp2DirectAttributeの両方が設定されている場合、Http2DirectAttributeが優先される。(この値は5.11で導入された)。
QNetworkRequest::AutoDeleteReplyOnFinishAttribute25Requests only, type:QMetaType::Bool (default: false) この属性がセットされていると、QNetworkAccessManager が "finished "を発した後、QNetworkReply を削除する。(この値は5.14で導入されました)。
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute26リクエストのみ: QMetaType::Int サーバー(HTTP1とHTTP2)へのTCPコネクションを、最後の保留中のリクエストの処理後にいつ閉じるかを設定する。(この値は6.3で導入された)。
QNetworkRequest::Http2CleartextAllowedAttribute27Requests only, type:QMetaType::Bool (default: false) 設定すると、この属性はQNetworkAccessManager に、HTTP/2 over cleartext (h2c とも呼ばれます) へのアップグレードを試みるように指示します。Qt 7 までは、QT_NETWORK_H2C_ALLOWED 環境変数を設定することで、この属性のデフォルト値を true に上書きすることができます。Http2AllowedAttribute が設定されていない場合、この属性は無視されます。(この値は 6.3 で導入された)。
QNetworkRequest::UseCredentialsAttribute28Requests only, type:QMetaType::Bool (default: false) 基礎となる XMLHttpRequest のクロスサイトアクセスコントロールリクエストが認証情報を使って行われるべきかどうかを示します。同一オリジンのリクエストには影響しません。これは WebAssembly プラットフォームにのみ影響します。(この値は 6.5 で導入されました)。
QNetworkRequest::FullLocalServerNameAttribute29リクエストのみ、タイプQMetaType::StringQLocalSocket で使用される完全なローカルサーバ名を保持します。この属性は、QLocalSocket の単純な名前の動作では不十分な場合に、QNetworkAccessManager が特定のローカルサーバに接続するために使用されます。QNetworkRequest のURLは、依然としてunix+http:またはlocal+http:スキームを使用しなければなりません。そして、URLのホスト名はHTTPリクエストのHostヘッダーに使われる。(この値は6.8で導入されました)。
QNetworkRequest::User1000特殊型。追加情報は、UserからUserMaxまでのタイプを持つQVariantsで渡すことができます。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 ヘッダに対応し、disposition タイプ (例えば、添付ファイル) とパラメータ (例えば、ファイル名) を含む文字列を含みます。
QNetworkRequest::ContentTypeHeader0HTTP Content-Type ヘッダに対応し、メディア(MIME)タイプと補助データ(例えば charset)を含む文字列を含む。
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 を使ってリダイレクトされたリクエストを発行します。

enum QNetworkRequest::TransferTimeoutConstant

転送タイムアウトをプリセット値で有効にするために使用できる定数です。

定数説明
QNetworkRequest::DefaultTransferTimeoutConstant30000ミリ秒単位の転送タイムアウト。setTimeout() が引数なしで呼び出された場合に使用されます。

QNetworkRequest::DefaultTransferTimeoutも参照

メンバ関数 ドキュメント

QNetworkRequest::QNetworkRequest()

要求する URL がない QNetworkRequest オブジェクトを構築します。URL を設定するには、setUrl() を使用します。

url() およびsetUrl()も参照して ください。

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

QNetworkRequest オブジェクトを、要求する URL としてurl を指定して構築します。

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

このネットワークリクエストに raw ヘッダーheaderName が存在する場合、true を返します。

注意: Qt 6.7 より前のバージョンでは、この関数はQByteArray のみを受け取りました。

rawHeader() およびsetRawHeader()も参照してください

このリクエストに既知のネットワーク・ヘッダーheader が存在する場合は、その値を返します。存在しない場合は QVariant()(つまり無効な variant)を返します。

KnownHeadersrawHeader()、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 で設定された、証明書の検証用に設定されたホスト名を返します。デフォルトでは、これは NULL 文字列を返します。

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

このネットワーク・リクエストで設定されているすべての raw ヘッダーのリストを返します。リストは、ヘッダが設定された順番に並べられます。

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 を設定します。

サポートされている圧縮アルゴリズムによっては、小さな圧縮ファイルに、驚くほど巨大な解凍ファイルをエンコードすることができます。これは、解凍されたコンテンツが非常に単調である場合にのみ可能であり、善意で送信される実際のファイルではめったにないことです。このような非常識に高い圧縮率を行使するファイルは、通常、バッファオーバーラン攻撃のペイロードであるか、またはサービス拒否攻撃(メモリを使いすぎることによって)です。その結果、特に小さな圧縮形式から巨大なサイズに解凍されるファイルは、マルウェアの疑いがあるとして拒否するのが最善です。

返信の解凍サイズがこのしきい値(デフォルトでは 10MiB、つまり 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 ヘッダも設定します。

KnownHeaderssetRawHeader()、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)

リクエストの HTTP/1 パラメータをconfiguration から設定します。

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

http1Configuration,QNetworkAccessManager,QHttp1Configurationも参照してください

void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)

リクエストの HTTP/2 パラメータをconfiguration から設定します。

注: コンフィギュレーションはリクエストを行う前に設定する必要があります。

注意: HTTP/2は、1つのHTTP/2接続で複数のストリームを多重化します。これは、QNetworkAccessManager が同じホストに送られた一連のリクエストのうち、最初のリクエストで見つかった設定を使うことを意味します。

http2ConfigurationQNetworkAccessManagerQHttp2Configurationも参照して ください。

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 参照)に対応する場合、rawフォーマットが解析され、対応する "cooked "ヘッダも設定される。

例えば

request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));

はまた、既知のヘッダーLastModifiedHeader を、解析された日付のQDateTime オブジェクトに設定する。

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

KnownHeaderssetHeader()、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(std::chrono::milliseconds)、transferTimeout()、transferTimeoutAsDuration() も参照して ください。

[since 6.7] void QNetworkRequest::setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout)

データが交換されなかった場合に転送を中止するタイムアウトduration を設定する。

タイムアウトが切れる前にバイトが転送されなかった場合、転送は中止される。ゼロは、タイマーが設定されないことを意味する。引数が与えられない場合、タイムアウトはQNetworkRequest::DefaultTransferTimeout となります。 この関数が呼ばれない場合、タイムアウトは無効となり、値はゼロとなります。

この関数は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

データ交換が行われなかった場合に転送が中止されるタイムアウト時間を返す。

デフォルトの継続時間はゼロで、これはタイムアウトが使用されないことを意味します。

この関数は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() が引数なしで呼び出された場合に使用されます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。