2016-07-23 8 views
0

いくつかのプロジェクトを.Net Coreに移行しようとしています.HttpWebRequestを使用して実装しました。今ネットコアに私はコードを変更するために管理しますが、私は私のフィドラーを経由して生の要求を検査されたときにAccept-Encondingは.NetCore HttpClientが不必要なAccept-Encondingを追加しました。

Accept-Encoding: identity, gzip, deflate 

代わり

Accept-Encoding: identity 

私はヘッダーをリセットしようとしたの、削除するましたそれが、クライアントのどちらも、これらが原因の制限に固定することができない何らかの理由で生のHTTPリクエストを作成する方法があれば、私は

client.SendAsync(request); 

を呼び出す前に、この2つのヘッダが存在して依頼?

答えて

1

HttpClientHandler.AutomaticDecompressionはヘッダーを追加しています。自動解凍を無効にすると、「Accept-Encoding」ヘッダーが空白のままになります。フィドラーで確認済み

var handler = new HttpClientHandler(); 
handler.AutomaticDecompression = System.Net.DecompressionMethods.None; 
var client = new HttpClient(handler); 

var result = client.GetStringAsync("http://headers.cloxy.net/request.php"); 

GET http://headers.cloxy.net/request.php HTTP/1.1 
Connection: Keep-Alive 
Host: headers.cloxy.net 

一つの興味深い事実は、透過プロキシを経由している私のISP力私のトラフィックである、と私の要求は、Accept-Encoding: gzipは常に他で受信されているかに関係なく、終わり。

+0

私はこれを回答として受け入れます。しかし、私は実際にプロジェクトを傷つけ、より良い制御のためにTCPソケットを使用する代わりにMonoと一緒に行きました。 .Net Coreは現在のところTCPソケットの実装には欠けています。 –

関連する問題