Ich bin eine Fehlersuche mit einem Dienst, den ich über .NET HttpClient aufrufen, versuchen, die Anforderung über einen lokalen Proxy (Fiddler) zu leiten, aber meine Proxyeinstellungen scheinen nicht wirksam werden .Verwenden eines Proxy mit .NET 4.5 HttpClient
Hier ist, wie ich den Client zu erstellen:
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;
}
dann schicke ich die Anfrage von:
var response = CreateHttpClient(ctx, sid).PostAsJsonAsync("api/prefs/", smp).Result;
Anfrage geht direkt an den Server ohne zu versuchen, den Proxy zu treffen. Was habe ich verpasst?
Wird Ihr Service auf Ihrem lokalen Computer getestet? Ziehen Sie Proxy-Umgehung für lokale Adressen in Betracht. – Xaqron
Übrigens ist das Erstellen von 'HttpClient'-Instanzen teuer. Sie sollten Instanzen nach Möglichkeit wiederverwenden. Es gibt ein paar Blog-Posts, die über Google erreichbar sind. – NathanAldenSr