問題タブ [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.
c# - C# を使用して WebClient を使用してチャンク化されたエンコード済みコンテンツをダウンロードする
Web サーバーからファイルをダウンロードすることを想定したクライアント アプリケーションを作成しました。非常に単純です。
Web サイト (オーディオ ファイルがある場所: http://localhost/audiotest/audio.wav ) には、ヘッダー Transfer-Encoding: chunked があります。
プログラムを実行すると、次のエラーが発生します。
サーバーがプロトコル違反を犯しました。Section=ResponseBody 詳細=Response チャンク形式が無効です
サーバーに Transfer-Encoding: chunked ヘッダーが含まれている場合、ファイルをダウンロードするにはどうすればよいですか?
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 には他の依存関係があるため、可能であればそこで問題を解決したいと考えています。
これが私が試したコードサンプルです:
chunked-encoding - .Netでチャンク化されたHTTPを読み取る
HTTPチャンクデータを読み取るVB.netクライアントを作成しようとしています。チャンクには、使用する必要のある追加情報が含まれています。オプションのタグが非表示になるため、HTTPWebResponseを使用できないことはすでに理解しています。したがって、私が理解しているように、TCPClientを使用し、それを介してHTTP要求を送信してから、応答を解析する必要があります。この時点での私の質問は、特にHTTPWebRequestがシリアル化できないため、HTTPリクエストを作成して送信するにはどうすればよいかということです。
これを行うためのより良い方法の指示を含む、どんな助けもいただければ幸いです。
java - HTTPマルチパートとチャンクは共存できますか?
私はapacheHttpClient
を使用していくつかのファイルをサーバーに投稿しています。コードは次のとおりです。
問題は、MultipartEntity
クラスにはisChunked()
メソッド(常にfalseを返す)しかなく、マルチパートエンティティのチャックされたエンコーディングを有効にする場合は「setChunked(boolean)」オプションがないことです。
私の質問は:
プロトコル仕様に従って、HTTPマルチパートとチャンクを共存させることはできますか?そうでない場合、なぜ
InputStreamEntity
クラスのような他のエンティティsetChunked(boolean)
にMultipartEntity
はないのですか?チャンクを有効にして、より好ましくはapacheライブラリを使用して、複数のファイルを「一度に」投稿する方法はありますか?
networking - Wiresharkを使用してソースページを表示するにはどうすればよいですか?
Wiresharkを使用してWebサイトのソースページをキャプチャして表示できる可能性はありますか?ヘッダーパケットは必要ありません。探しているのは、Wiresharkの実行中に開いたサイトの完全なソースページです。
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.
。
コードは次のようになります。
何が間違っていて、良い解決策は何ですか?
//ヨハン
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クライアントがチャンクコーディングも理解することを期待するのが安全でない場合は、応答するたびに接続を閉じる必要があります。(または私は何かを逃したことがありますか?)
perl - Unpack を使用してバイナリ データをチャンクに分割する Perl
私はTransfer-Encoding: chunked
HTTP応答を書くために使用しています。
応答は、次のように分割されます。
コンテンツ タイプが の場合、これは正常に機能しますがtext/html
、application/pdf
.
unpack
バイナリデータを等しい長さに分割するために使用できますか?
iphone - ASIHttprequest は、チャンク転送エンコーディングの進行状況を取得しますか?
ASIProgressDelegate
setProgress
チャンクエンコーディングをダウンロードすると、メソッドは常に 1 になりますか? チャンクエンコーディングのダウンロンディングの進行状況を取得するにはどうすればよいですか? ありがとう!
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を超えると、問題が発生します。ここでテストプロジェクトを作成しました
前もって感謝します