Код: Выделить всё
await client.GetAsync("https://example.com/path/to/resource/123");
ArgumentException: только «http» и «https» схемы разрешены.
at System.Net.Http.HttpRequestMessage.set_RequestUri(значение Uri)
at System.Net.Http.HttpClientHandler.CreateResponseMessage(HttpWebResponse webResponse, запрос HttpRequestMessage)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
...
Просмотр заголовков ответов в отладчик браузера, ответ имеет заголовок content-location, возвращаемый как ресурс://example/123, который, конечно, не является ни http, ни https.
Эта служба отлично работает во всех браузерах/клиентах, которые я пробовал; .NET 8.0 HttpClient работает.
Только .NET Framework не может с этим справиться.
Я попробовал добавить пользовательский обработчик в конвейере HttpClient, но исключение происходит до того, как оно достигнет моего пользовательского обработчика.
Я также пытался переключить DefaultRequestHandler на WebRequestHandler нет имеется.
Есть ли способ перехватить заголовки ответов до создания HttpResponseMessage?
Или .NET 4.8 просто полностью не можете обрабатывать ответы, отличные от HTTP?
Подробнее здесь: https://stackoverflow.com/questions/792 ... as-allowed