Betrachten Sie den folgenden Code, in dem BaseAddress
der einen partiellen URI-Pfad definiert.
using (var handler = new HttpClientHandler())
using (var client = new HttpClient(handler))
{
client.BaseAddress = new Uri("http://something.com/api");
var response = await client.GetAsync("/resource/7");
}
Ich erwarte, dass dies eine GET
Anfrage an http://something.com/api/resource/7
. Aber das tut es nicht.
Nach einigem Suchen finde ich diese Frage und Antwort: HttpClient mit BaseAddress . Der Vorschlag ist, /
am Ende des zu platzieren BaseAddress
.
using (var handler = new HttpClientHandler())
using (var client = new HttpClient(handler))
{
client.BaseAddress = new Uri("http://something.com/api/");
var response = await client.GetAsync("/resource/7");
}
Es funktioniert immer noch nicht. Hier ist die Dokumentation: HttpClient.BaseAddress Was ist hier los?