Windows Server Core возвращает ошибку 404, когда URL-адрес требует перезаписи.Могу ли я работать вокруг этого? - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть некоторый код C #, который является клиентом API, использующим HttpClient, и вы можете получить к нему доступ через командлеты в бинарном модуле PowerShell, который у меня есть.Хотя это кодовый веб-сайт, я думаю, что показывать его здесь неуместно, потому что он отлично работает на рабочем столе Windows и в полной версии Windows Server для рабочего стола.Однако, когда я запускаю команды, которые требуют перезаписи URL-адреса, например "/" в "% 2F", я получаю сообщение об ошибке 404 - URL не найден в Windows Server Core.Естественно, код работает хорошо, и я печатаю его на экране до того, как будет сделан вызов Post, чтобы доказать, что это тот же код, который я вижу в Windows 10, Windows 2016 (полная версия), проводнике API и в Postman.В Windows Server Core что-то происходит после этой точки, что нарушает URL.

Чтобы доказать, что в моем коде не было ничего странного, я попробовал примеры, используя старый WebClient в PowerShell и Invoke-RestMethod (включая переключатель -UseBasicParsing), а затем попробовал оба из них на Windows Server Core 2016 и 2019. Одна и та же проблема каждый раз на серверах Windows Server Core - The requested URL was not found.

Единственное, о чем я могу думать, эточто отсутствие приложений, таких как Internet Explorer, может иметь какое-то отношение к этому.В других статьях люди предполагали, что переключатель -UseBasicParsing в Invoke-RestMethod предназначен для объяснения этого, но он здесь не работает.

Кто-нибудь испытывал что-то подобное и могу ли я что-нибудь с этим сделатькроме запуска задач из полной версии Windows Server для настольного компьютера?

РЕДАКТИРОВАТЬ:

С тех пор я обнаружил, что проблема существует и в полной версии Server 2016.Свежий экземпляр 2019 года, похоже, работает.Я, вероятно, войду в тикет с поставщиком API, чтобы получить некоторую поддержку противоречивых ответов.

...