問題タブ [idhttp]

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 に答える
1139 参照

xml - IdHTTP XML、xml の取得、助けてください

サイトから IdHTTP XML ドキュメントを取得できません。私はいつも答え 403 / HTTP 1.1 と text/html (text/xml が必要) を持っていました

MSXML をすべて使用して XML ファイルを取得する場合。しかし、プロキシが必要なので、idhtop が必要です。シナプス使用時は変わりません。

msxml を操作します。

IdHTTP の設定方法 すべての設定が 100 回変更されました またはプロキシ MSXML への接続ですか?

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

xml - サーバー idhttp からの XML 応答

Get send request to the server and receive error 409, プログラムが中断されました, try except を使用して彼女を無視します.エラー 409 と XML 応答もありました.どうすればそれを読むことができますか?

HTTP.Response.gettext - サーバーに関する情報のみを提供します。

http.response.rawheaders.commatext - サーバーに関する情報のみ

コンテンツの長さの一致

答えはスニファーで見ることができます

プログラムの中で答えが得られますか?

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

delphi - TIdHttpを使用してファイルを段階的にダウンロードします

TIdHttp(Indy10)を使用して単純なhttpダウンローダーを実装したいと思います。インターネットから2種類のコード例を見つけました。残念ながら、それらのどれも私を100%満足させません。これがコードです。アドバイスが必要です。


バリアント1

コードはコンパクトで非常に理解しやすいです。問題は、ダウンロードの開始時にディスク領域が割り当てられることです。もう1つの問題は、コードがバックグラウンドスレッドで実行されない限り、GUIでダウンロードの進行状況を直接表示できないことです(または、HttpClient.OnWorkイベントをバインドできます)。


バリアント2:

最初にサーバーからファイルサイズを照会し、次にファイルの内容を分割してダウンロードします。取得したファイルの内容は、完全に受信されるとディスクに保存されます。潜在的な問題は、サーバーに複数のGETリクエストを送信する必要があることです。一部のサーバー(megauploadなど)が特定の期間内のリクエスト数を制限する可能性があるかどうかはわかりません。


私の期待

  1. ダウンローダーは、サーバーにGETリクエストを1つだけ送信する必要があります。
  2. ダウンロードの開始時にディスク容量を割り当てないでください。

ヒントは大歓迎です。

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

delphi - idhttp.get 停止時のデストラクタ (indy、delphi)

私のアプリケーションは、memo1 のすべての URL から 1 つの画像をダウンロードできます。idhttp.get を使用し、スキップボタンがあります。スキップした後、次の画像をダウンロードします。

Q1: デストラクタに入れるコードはありますか? また、「terminate」と「waitfor」のコードは何ですか? 別のウェブサイトでこれを見つけました:

Q2: デストラクタを呼び出して動作させるにはどうすればよいですか?

Q3: ヒント (特にセキュリティの問題) と追加のコード行はありますか?

私のアプリケーションのコード:

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

delphi - TIdHttpの生の要求と応答の内容を追跡する方法

私はdelphiとpythonを使用して(フォームを投稿するために)同じコードを実装しました。Pythonコードは完全に機能しますが、Delphiコードは失敗します。httplib2.debuglevel=4Pythonでは、サーバーに実際に送信されたコンテンツを確認するために簡単に書き込むことができます。しかし、デルファイでコンテンツを印刷する方法がわかりません。

ヒントは大歓迎です。

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

delphi - IdHttpを使用して応答コンテンツをデコードできませんでした

TIdHttpを使用してWebコンテンツをフェッチします。応答ヘッダーは、コンテンツエンコーディングがutf8であることを示します。コンソールでコンテンツをCP936(簡体字中国語)として印刷したいのですが、実際のコンテンツが読み取れません。

私はPythonで(httplib2を使用して)同じことを問題なく行います。


更新1

生の応答をデバッグしたところ、コンテンツがgzipで圧縮されていることがわかりました。

IdCompressorZLibインスタンスをIdHttpインスタンスに割り当てようとしました。残念ながら、gzip圧縮されたコンテンツを解凍しているときにアプリケーションがクラッシュします。テストアドレスは「http\://www.baidu.com」(encoding = gb2312)です。


更新2

また、ASCII文字のみを含むgzip圧縮されたjqueryスクリプトファイルをダウンロードしようとしました。今回は動作します。これは、Indyライブラリの問題であることを意味します。私が間違っていなかったら、質問を閉じなければなりません。

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

delphi - ファイルホスティング業者からプログラムでファイルをダウンロードする

Delphiを使用して、プログラムでダウンロードしたいファイルホスティング業者にアップロードされたファイルがいくつかあります。キャプチャなどは必要ありません。通常は、ボタンを押すだけでファイルを取得できます。これを例に取りましょう。

今すぐダウンロード - ボタンが指している URL を取得し、TIdHTTP.Get 要求を使用して、それを MemoryStream / Filestream / なんでも保存できると考えました。リンク アドレスをコピーすると、このサイトにつながります。ブラウザに入力すると、ダウンロード プロンプトが表示されます。

ただし、チェック ツールを使用すると、元のサイトへの 302 リダイレクトが含まれていることがわかりました。そのため、GET 要求を実行するときに、エラー メッセージを回避するために HandleRedirects を設定する必要があり、ファイルではなく元のサイトの HTML コードを取得します。疑っていた。

そのため、 1) URL には前のページへの 302 リダイレクトのみが含まれているにもかかわらず、どうにかしてブラウザーからファイルを取得し、 2)コード内から同じことを達成する方法について、ちょっと混乱し ています。あなたの誰かがそこで私を少し教育する可能性はありますか?;)

編集

あなたの入力のおかげで、私は問題を見つけることができました.私が使用しなければならないアドレスは、元のソースにある乱数を使用して生成されることがわかりました. そのため、最初に番号を取得するリクエストを投稿するとうまくいきます。それに応じてコードを編集しました。

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

delphi - IdHTTP を使用してバイト配列を PHP に送信する

IdHTTP コンポーネントを使用して、単純なクライアント - サーバー - クライアント アプリケーションを構築しようとしています。IdHttp コンポーネントを使用して、client1 から www.example.com にある php ファイルにバイト配列を送信し、この php ファイルに、IdHTTp を使用して client2 が消費する同じデータを送信させる方法は? 多分私はここで間違った道を進んでいます。

0 投票する
4 に答える
2613 参照

delphi - Indyを使用したHTTP連続パケットストリーム

リクエストの1つに対してJSONオブジェクトの連続ストリームを返すJSON-RPCサービスがあります。

すなわち:

もちろん、ストリームは無限であるため、Content-Lengthはありません。

カスタムTStreamの子孫を使用して、データを受信して​​解析しています。しかし、内部的にデータをバッファリングし、バイトが受信TIdHttpされるまでデータを私に渡しません。RecvBufferSize

これにより、次のようになります。

30分前に重要だったメッセージは、30分前に配信されるべきだったので、明らかにこれは機能しません。

Indyに、ソケットと同じように実行してもらいたい。使用可能なデータがある場合はRecvBufferSize以下まで読み取り、すぐに戻る。

私は2005年からこの議論を見つけました。そこでは、貧しい人々がインディの開発者に問題を説明しようとしましたが、彼らは彼を理解していませんでした。(それを読んでください;それは悲しい光景です)

とにかく、彼はカスタムIOHandlerの子孫を作成することでこれを回避しましたが、それは2005年にさかのぼります。おそらく、今日、いくつかの準備が整ったソリューションがありますか?

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

json - Http get json into string

HTTP GETメソッドを介して文字列に対してjson応答を取得しようとしていますが、取得したのは次のとおりです。ここに画像の説明を入力してください

私はそのようなコードを使用しています:

jsonデータを返します。memo1に対するjsonの応答を取得する必要があります。

どうやってやるの?