ローカルプロキシ(Fiddler)経由でリクエストをルーティングしようとしたときに.NETのHttpClient経由で呼び出すサービスのバグを解決していますが、プロキシ設定が有効にならないようです。ここで.NET 4.5のHttpClientでプロキシを使用する
が、私はクライアントの作成方法は次のとおりです。
var response = CreateHttpClient(ctx, sid).PostAsJsonAsync("api/prefs/", smp).Result;
要求がプロキシをヒットしようとせずにサーバーにまっすぐに行く:
private HttpClient CreateHttpClient(CommandContext ctx, string sid) {
var cookies = new CookieContainer();
var handler = new HttpClientHandler {
CookieContainer = cookies,
UseCookies = true,
UseDefaultCredentials = false,
Proxy = new WebProxy("http://localhost:8888", false, new string[]{}),
UseProxy = true,
};
// snip out some irrelevant setting of authentication cookies
var client = new HttpClient(handler) {
BaseAddress = _prefServerBaseUrl,
};
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
、私はして要求を送信します。私は何を取りこぼしたか?
サービスはローカルマシンでテスト中ですか?ローカルアドレスのプロキシバイパスを検討してください。 – Xaqron
ところで、 'HttpClient'インスタンスを作成するのは高価です。可能であれば、インスタンスを再利用する必要があります。 Googleを使用してこの到達可能性について話すブログ記事がいくつかあります。 – NathanAldenSr