私は HttpWebRequest を使用しており、応答全体がダウンロードされる前に応答の ContentLength を確認したいと考えています。しかし、呼び出すとき:
var res = request.GetResponse(); // entire response is being downloaded
var len = res.ContentLegth; // need only this value
これは C# でどのように達成できますか?
私は HttpWebRequest を使用しており、応答全体がダウンロードされる前に応答の ContentLength を確認したいと考えています。しかし、呼び出すとき:
var res = request.GetResponse(); // entire response is being downloaded
var len = res.ContentLegth; // need only this value
これは C# でどのように達成できますか?
わかりましたので、質問の元のコードは実際に機能します。「GetResponse」を呼び出すときに「HEAD」のみをダウンロードし、ContentLength は利用可能です。「チャンクされた」転送エンコーディングを持つリソースを取得していたため、うまくいきませんでした。フィドラーを開いてテストしていなければ、ContentLength で -1 を返し、これはまだ機能しているはずです。どうやら、フィドラーが「チャンクされた」応答に遭遇すると、「req.GetResponse()」を呼び出すだけでも、すべてをダウンロードしようとします。