問題タブ [qnetworkaccessmanager]

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 投票する
2 に答える
520 参照

post - QtWebKit QWebPage::acceptNavigationRequestおよびPOSTデータ

この(QWebPage :: acceptNavigationRequest)の瞬間にPOSTデータにアクセスすることは可能ですか?ナビゲーションをロックし、NetworkAccessManager :: createRequestに到達しなかったために機会がないため、そこでリクエストのPOSTデータを確認したいと思います。

ありがとう!

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

qt - QNetworkAccessManager からリモート IP を取得する

QNetworkAccessManager を使用する場合、ローカル IP/リモート IP などの http 接続情報を取得する方法はありますか? QNetworkReply/Request のペアごとに、このような接続情報を記録する必要があります。どうもありがとう。

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

qt - Qt でのネットワーク タイムアウトの処理

を扱う場合、タイマーを使用して接続を中止するQNetworkReplyことが規定されています。

これが私の現在のコードです:

私が直面している混乱は、いつタイマーを開始する必要があるかということです。時々、約 50 の同時Getリクエストを作成する必要がありますQNetworkAccessManager、最大同時接続数の調整があるため、一部のリクエストが処理される前にタイムアウトになることがあります。

QNeworkAccessManagerその時だけ対応するタイマーを開始できるように、リクエストの処理がいつ開始されるかを正確に知るためのシグナルはありますか?

考えられる解決策の 1 つは、リクエストのキューを実装し、処理できる接続を最大にすることですが、よりクリーンな解決策を探しています

0 投票する
2 に答える
4143 参照

qt - Qt QNetworkAccessManager と複数の QNetworkReply

QNetworkRequest を 2 つ取得しています。

さまざまなメソッドからの完成したシグナルを処理したい。

たとえば、これはコードです

これが私の唯一の方法です

replay->deleteLater(); を試しました。でも同じ結果

何か役に立つアドバイスをください

0 投票する
2 に答える
1615 参照

qt - Qt QNetworkAccessManager & 複数の QNetworkReplay

2 つの http get メソッドがあります。

1 つ目は UserID の取得で、2 つ目は現在のユーザーに関する完全な情報を取得することです。

異なるスロットで完成したサインラスを処理したい

GetUserID finished を GetUserIDCompleted で処理し、GetUserDetails を GetUserDetailsCompleted で処理します。

異なるスロットで QNetworkReplay を取得することは可能ですか?

ここに画像の説明を入力

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

qt - QNetworkRequest と QNetworkAccessManager を使用してページを取得する際に、ブラウザとコードからの結果が一致しない

私は単純な Web スパイダーを書いています。アイデアは、QNetworkAccessManager、QNetworkReply、および QNetworkRequest を使用してプログラムでページを取得することであり、すべて正常に動作します。

私が遭遇する問題は、(一部のページでは) プログラムによって、またはブラウザーで「手動で」ページにアクセスすることによって、異なる/一致しない結果が得られることです。私は常に構文的に正しい HTML ページを取得しますが、それらはある種の「スパイダー保護」の回答のように見えます。私が参照しているページは POST ページではありません。私が行っているテストは、非常に単純な URL ページを使用しており、パラメーター (例: www.sample.com/index.php?param=something) を使用する場合もあれば、プレーン ページを使用する場合もあります。 .html URL。

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

. . .

finish() スロットでは、networkreply からのデータを出力しています。URL に手動でアクセスして取得したブラウザーでの単純な「ソースの表示」操作から、一致しない結果が得られることがあります。

カスタムの「見つかりません」ページが表示されることもあれば、ログインフォームやその他の予期しないコンテンツを含む奇妙なページが表示されることもあります。多分それはある種のスパイダー保護ですか?誰でも助けることができますか?

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

python - QNetworkReplyはセグメンテーション違反を引き起こします

PyQt4ベースのアプリ用のある種のAPIクライアントを作成しようとしています。そして、このドキュメントに従って、私はこのコードを書きました:

最初の問題は、シグナル(processResponseprocessError)が呼び出されないことです(との接続を宣言してもself.connect(.., SIGNAL(..), ..))。2番目の問題は、メソッドを呼び出しているときに、このコードが最後の行でセグメンテーション違反を引き起こすことですisFinished。APIメソッド内でこのメソッドを呼び出すと、正しく機能します。

私は、replyオブジェクトがガベージコレクションされるか、何らかの理由で削除されることが原因だと考えていたので、オブジェクト変数authenticateに明示的にバインドするメソッドの2番目のバージョンを作成しました。replyセグメンテーション違反も発生します。

私のコードの何が問題になっていますか?

0 投票する
2 に答える
758 参照

c++ - ネットワーク応答後の Qt 更新

Qt クリエーターと協力して、さまざまな URL を取り込み、html コードをダウンロードして表示する GUI プログラムを作成しています。

ユーザーは、さまざまな URL を listWidget に追加できます。次に、ユーザーは特定の URL を選択し、URL のリストの横に表示される html をダウンロードできます。

私が抱えている問題は、返信を受け取った後にテキスト領域を更新することです。

main.cpp - 基本的にウィンドウを表示するだけです。

mainwindow.h - 非常に簡単です。入力された Web サイトから html を要求するために使用されるオブジェクト html を含みます。

mainwindow.cpp - これが問題の始まりです。「downloadButton_clicked()」関数を見下ろすと、リクエストを送信して html を取得していることがわかります。ただし、次の行の前に返信が受信されないため、テキスト フィールドは "" に設定されます。

htmlmanager.h

htmlmanager.cpp - 応答を受信すると、html を QString "str" に格納します。

返信を受信したら str の値を MainWindow クラスに送信する簡単な方法はありますか、または返信を受信するまで onclick 関数がテキスト領域の更新を待機する方法はありますか?

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

c++ - QNetworkAccessManager のメモリ リーク

QNetworkAccessManager (Qt を使用) を使用しているときに、メモリ リークの問題が発生します。呼び出すリクエストが多いほど、より多くのメモリが割り当てられます。これは理にかなっていますが、私のやり方ではそうではありません。たとえば 16 のリクエストを呼び出し、ネットワークの応答が 16 回ヒットすると、次の 16 を呼び出します。何らかの理由でそうではなく、より多くの呼び出しが行われるにつれて、メモリは着実に増加します。これをスレッドに入れることはこれに影響を与える可能性がありますか?

ヘッダ:

CPP:

何か案が?ありがとう!

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

qt - Qt のエラー: スレッドで Qnetwork アクセス マネージャーを使用する場合の「Not such Slot」

QThread で QNetworkAccessManager を使用する際に困っています。スレッドを使用しなくても、同じ機能が正常に機能します。現在使用しているスレッドは 1 つだけで、さらにいくつか追加する必要があります。

「Object::connect: No such slot QThread::replyFinished(QNetworkrReply*)」というエラー メッセージが表示されます。

ヘッダー ファイル コード (NewThread.h) は次のとおりです。

以下のように、別のクラスで NewThread クラスのオブジェクトを作成しています。

なぜ同じコードがスレッドではなくスレッドなしで機能するのか疑問に思っています。私は困難な状況にあり、助けていただければ幸いです。