Как подразумевает @Damien_The_Unbeliever в комментарии, вам просто нужно убрать хеш и все после него - все, что нужно, это сказать браузеру перейти к этому тегу привязки на странице HTML (см .: https://w3schools.com/jsref/prop_anchor_hash.asp).
Вы также можете использовать класс Uri для анализа Uri и игнорирования любых «фрагментов»: https://docs.microsoft.com/en-us/dotnet/api/system.uri.fragment
Поскольку URL-адреса в стиле общего ресурса будут возвращать только 302, я бы предложил захватить Uri, на который ссылается 302, и сделать то, что я предлагаю выше, и просто получить путь и проигнорировать фрагмент.
Так что вам нужно использовать какой-то механизм (который я просто смотрю!), Чтобы изящно обработать 302, за которым следует опция 2
Обновление: это выглядит актуально! Как заставить System.Net.Http.HttpClient не выполнять перенаправления 302?
Обновление 2 У Стива Гуиди есть очень важный совет в комментарии: https://stackoverflow.com/a/17758758/5351
В ответ на совет, который вам нужно использовать HttpResponseMessage.RequestMessage.RequestUri
:
очень важно добавить HttpCompletionOption.ResponseHeadersRead
в качестве второго параметра вызова GetAsync()
Отказ от ответственности - я не пробовал выше, это просто на основе чтения; -)