問題タブ [chunked-encoding]

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

c# - C# を使用して WebClient を使用してチャンク化されたエンコード済みコンテンツをダウンロードする

Web サーバーからファイルをダウンロードすることを想定したクライアント アプリケーションを作成しました。非常に単純です。

Web サイト (オーディオ ファイルがある場所: http://localhost/audiotest/audio.wav ) には、ヘッダー Transfer-Encoding: chunked があります。

プログラムを実行すると、次のエラーが発生します。

サーバーがプロトコル違反を犯しました。Section=ResponseBody 詳細=Response チャンク形式が無効です

サーバーに Transfer-Encoding: chunked ヘッダーが含まれている場合、ファイルをダウンロードするにはどうすればよいですか?

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

winapi - WinInet - ヘッダーから Content-Length を削除して手動でアップロードをチャンクできない

MSDN、WinInet がチャンク アップロードをサポートしていないと述べています (「クライアント コードはチャンクを実行する必要があります。」)。私にとっては、転送を手動でチャンクできることを意味していました。私の意図は、 HttpAddRequestHeadersを介して "Transfer-Encoding: chunked" を追加し、 HttpAddRequestHeaders HTTP_ADDREQ_FLAG_REPLACE を介して Content-Length を削除し、 InternetWriteFile ループでチャンク エンコード ブロックにデータを書き込むことでした。問題は、Content-Length を送信しないように WinInet を納得させることができないことです。削除した後でも、「Content-Length: 0」をサーバーに送信することになり (「Transfer-Encoding: chunked」に加えて)、サーバーを混乱させます。

また、 HSR_CHUNKED フラグをHttpSendRequestExに設定しようとしました。

WinInet に Content-Length の送信をスキップさせる例はありますか?

WinHTTP がチャンク アップロードをサポートしていると主張していることは知っていますが、WinInet には他の依存関係があるため、可能であればそこで問題を解決したいと考えています。

これが私が試したコードサンプルです:

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

chunked-encoding - .Netでチャンク化されたHTTPを読み取る

HTTPチャンクデータを読み取るVB.netクライアントを作成しようとしています。チャンクには、使用する必要のある追加情報が含まれています。オプションのタグが非表示になるため、HTTPWebResponseを使用できないことはすでに理解しています。したがって、私が理解しているように、TCPClientを使用し、それを介してHTTP要求を送信してから、応答を解析する必要があります。この時点での私の質問は、特にHTTPWebRequestがシリアル化できないため、HTTPリクエストを作成して送信するにはどうすればよいかということです。

これを行うためのより良い方法の指示を含む、どんな助けもいただければ幸いです。

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

java - HTTPマルチパートとチャンクは共存できますか?

私はapacheHttpClientを使用していくつかのファイルをサーバーに投稿しています。コードは次のとおりです。

問題は、MultipartEntityクラスにはisChunked()メソッド(常にfalseを返す)しかなく、マルチパートエンティティのチャックされたエンコーディングを有効にする場合は「setChunked(boolean)」オプションがないことです。

私の質問は:

  1. プロトコル仕様に従って、HTTPマルチパートとチャンクを共存させることはできますか?そうでない場合、なぜInputStreamEntityクラスのような他のエンティティsetChunked(boolean)MultipartEntityはないのですか?

  2. チャンクを有効にして、より好ましくはapacheライブラリを使用して、複数のファイルを「一度に」投稿する方法はありますか?

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

networking - Wiresharkを使用してソースページを表示するにはどうすればよいですか?

Wiresharkを使用してWebサイトのソースページをキャプチャして表示できる可能性はありますか?ヘッダーパケットは必要ありません。探しているのは、Wiresharkの実行中に開いたサイトの完全なソースページです。

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

c# - HttpWebRequest、リダイレクト、ライブ サイトでチャンク エンコーディング エラーが発生するが、IIS Express でローカルに動作する

C# で HTTP POST WebRequest を作成し、いくつかのデータを https サイトに投稿するコードがあります。その後、そのサイトは新しい URL にリダイレクトし、いくつかのデータを返します。

これは、IIS Express を実行しているローカル マシンでは問題なく動作しますが、運用サーバーでは例外がスローされますContent-Length or Chunked Encoding cannot be set for an operation that does not write data.

コードは次のようになります。

何が間違っていて、良い解決策は何ですか?

//ヨハン

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

http - HTTP / 1.0クライアントがConnection:keep-aliveを要求した場合、チャンクされたエンコーディングを理解しますか?

HTTPサーバーが「Connection:keep-alive」ヘッダーを含むHTTP / 1.0リクエストを受け取った場合、クライアントが「Transfer-Encoding:chunked」を理解するのは当然のことですか?

基本的に、HTTP / 1.0クライアントからの「Connection:keep-alive」ヘッダーを尊重するかどうかを決定しようとしています。私がそれを尊重する場合、Content-Lengthヘッダーを計算するために応答全体をバッファリングできないため、応答にチャンクコーディングを使用する必要があります。

「Connection:keep-alive」を要求するHTTP / 1.0クライアントがチャンクコーディングも理解することを期待するのが安全でない場合は、応答するたびに接続を閉じる必要があります。(または私は何かを逃したことがありますか?)

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

perl - Unpack を使用してバイナリ データをチャンクに分割する Perl

私はTransfer-Encoding: chunkedHTTP応答を書くために使用しています。

応答は、次のように分割されます。

コンテンツ タイプが の場合、これは正常に機能しますがtext/htmlapplication/pdf.

unpackバイナリデータを等しい長さに分割するために使用できますか?

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

iphone - ASIHttprequest は、チャンク転送エンコーディングの進行状況を取得しますか?

ASIProgressDelegate setProgressチャンクエンコーディングをダウンロードすると、メソッドは常に 1 になりますか? チャンクエンコーディングのダウンロンディングの進行状況を取得するにはどうすればよいですか? ありがとう!

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

asp.net - IIS7.5の圧縮とチャンク転送の問題

jsonフィードをレンダリングする必要がありました。フィードのサイズが約10MBであるため、ASPNETで圧縮を有効にすることにしました。jsonmimeタイプの動的圧縮を有効にしました。圧縮は適切に機能し、サイズを1 MBに削減しました(使用するサーバーCPUにとって大きな圧縮の利点)。

しかし、奇妙なことに、ブラウザは毎回2.6分かかり、JSONが数秒で受信されたのに失敗しました。

フィドラーと検査ツールを使ってデバッグしてみました。応答としてチャンク転送エンコーディングが表示されます。したがって、ブラウザは約150秒間待機して、0サイズのチャンクを受信して​​完了します。

どのjsonサービスでも応答をフラッシュしません。したがって、この場合、IISはチャンク転送を有効にします。enableChunkedEncodingをオフにしても効果はありませんでした。

この圧縮を機能させるにはどうすればよいですか、または圧縮+チャンク転送を一緒に機能させるにはどうすればよいですか?

リクエストヘッダーとレスポンスヘッダーは次のとおりです。

リクエストヘッダー

リクエストURL:http:// localhost:8080 / Default2.aspx

リクエスト方法:GET

ステータスコード:200OK

Accept-Encoding:gzip、deflate、sdch

応答ヘッダー

Content-Encoding:gzip

Content-Type:application / json; charset = utf-8

Transfer-Encoding:chunked

編集:興味深いことに、圧縮された応答が1 MB未満の場合、すべてが正常に機能します。応答が1MBを超えると、問題が発生します。ここでテストプロジェクトを作成しました

前もって感謝します