問題タブ [qnetworkrequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
827 参照

qt - QNetworkAccessManager で、IP が DNS 解決済み IP のリストから選択された場合は?

QnetworkAccessManager を使用して HTTP 要求を作成しています。IP アドレスまたは IP アドレスのリストを取得するために FQDN がいつ解決されるか (DNS 解決) を知りたいです。

QNetworkAccessManager は、解決された IP のリストから IP を選択してリクエストを送信する方法を教えてください。

QNetworkAccessManager は DNS 解決のキャッシュを保持しますか?

0 投票する
1 に答える
740 参照

qt - QNetworkReply から読み取る ファイルに書き込む

a を実行して、割り当てられたQNetworkRequestを取得したとしますQNetworkReply。大きなファイル (1 GB など) の場合、4k バイト配列バッファーを作成し、4k x 4k のデータをその配列に読み取り、同時に開いているファイルストリームに書き込むにはどうすればよいですか? たとえば、同等の C# コードは次のようになります (私は Qt ではなく C# に精通しています)。

- - 編集

実際に私がやろうとしているのは、アプリケーションを実行するたびにダウンロードを再開する機能です。ダウンロードを再開しようとするたびに、rangeヘッダーを設定しQNetworkRequestて残りのデータを取得するだけなので、データを一度にではなく段階的に書き込む必要があります。

0 投票する
3 に答える
3054 参照

qt - QNetworkAccessManager - 「PATCH」リクエストの送信方法

Firebase アプリケーションに「PATCH」リクエストを送信しようとしています。私が読んだ限りでは、QNetworkManager は「Patch」リクエストをサポートしていません。

「PATCH」リクエストを送信するにはどうすればよいですか?

0 投票する
1 に答える
2439 参照

c++ - c++ QNetworkRequest を使用して HTTPS サイト コンテンツを取得する

VS2010 c++ 環境で Qt フレームワーク (QNetworkRequest) を使用して、サイトのコンテンツ (json 文字列) を取得しようとしています。HTTP サイトからのデータの読み取りに問題はありませんが、HTTPS サイトのコンテンツを読み取ろうとするとうまくいきません。一方、ブラウザはサイトのコンテンツを「見る」ことができます。証明書の問題だと思いますが、完全にはわかりません。firefox からは ca.pem (エクスポートしたもの) にしかアクセスできません。空のままにしないように、cert.pem と key.pem にダミーの pem ファイルを使用しました。残念ながら、これらのファイルを別の方法で取得することはできません。

「秘密鍵は公開鍵を認証しません。エラー:140A80B1:SSL ルーチン:SSL_CTX_check_private_key:証明書が割り当てられていません」という説明のエラー 99 コードが表示されます。したがって、ダミーの鍵証明書のエラーであるはずです。

しかし、ブラウザーがコンテンツを「見る」ことができ、コードを介して私ができないのはどうしてでしょうか? 回避策を見つけることは可能ですか?

私のコードは次のとおりです。

0 投票する
0 に答える
718 参照

qt - QNetworkAccessManager / QNetworkReply を使用して readyRead() を使用してダウンロードすると、RAM が消費されます

次のセットアップとシナリオがあります。

  • 実行中の QT/QML アプリケーション。20MB のファイルを/tmp/IMAGE( QNetworkManager()QNetworkReply()、を使用してreadyRead())にダウンロードするようにトリガーできます。
  • /tmpRAM ディスクです - 40 MB 以上の空き容量があります (QT/QML アプリケーションの実行中)
  • QT/QML アプリケーションの実行中にwget20MB のファイルを簡単に転送できます/tmp/IMAGE

ただし、QT/QML アプリケーションを介してファイルをダウンロードしようとすると (および-signal を使用QNetworkManager()すると、qt/qml アプリケーションは、ファイルの半分が実際にダウンロードされる前であってもメモリ不足キラーによって強制終了されます (およびのサイズ)。QNetworkReply()readyRead()downloadProgress()/tmp/IMAGE

私が理解している限り、readyRead()チャンクの部分的なダウンロード、ディスクへの書き込み、使用済み RAM のクリア、次のチャンクのダウンロードと書き込みのために特に設計されています。

ただし、その方法は、たとえば使用するよりも多くの RAM を消費するようですwget-10MB のファイルをダウンロードした後、Qt/QML アプリケーションには説明できない巨大なメモリフットプリントがあります。

私が基本的にやっていることは、次のreadyRead()名前のスロットに接続することpartialDownloadFinished()だけです:file->write(reply->readAll());

チャンクサイズが大きくなる可能性があるかどうかも確認しbytesAvailable()ましたが、そうではないようです。

私の次の推測では、データは (RAM) ディスクに書き込まれるよりも速くダウンロードされますが、そうではないようです。

だから私は立ち往生しています。これについて手がかりやヒントを持っている人はいますか?

どうもありがとう!

0 投票する
1 に答える
605 参照

qt - QNetworkRequest メソッド (get または post) とは何かを判断する方法は?

QWebView を使用して Web サイトを閲覧し、QWevView.Page().networkAccessManager().finishedシグナルを使用してリクエストを監視する場合、リクエスト メソッド (Post または Get) を特定するにはどうすればよいですか?

これは私のコードです:

0 投票する
1 に答える
761 参照

qt - QNetworkAccessManager - マルチパート「PATCH」リクエストの送信方法

この質問は QNetworkAccessManager - How to send “PATCH” request を補足します。

QNetworkAccessManager にはメソッドがありません

私は Qt 4.8-bb10 で立ち往生しています。どのように進めればよいですか?