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