Использование RestSharp для вызова API, работающего на экземпляре IIS с включенным заголовком узла
У меня есть сервер IIS с несколькими настроенными сайтами. Все они обслуживают порт 80, поэтому я использую конфигурацию заголовка узла для маршрутизации запросов на правильный сайт. Все это прекрасно работает, когда запросы исходят из браузера. Тем не менее, когда я вызываю один из сайтов (который обслуживает REST API) с помощью RestSharp, я получаю сообщение "невозможно разрешить адрес". Если я переключаю API-интерфейс на другой порт и перестаю использовать заголовки хоста, это работает. Поэтому запрос, генерируемый с помощью RestSharp, не соответствует ожиданиям сервера. Используя Fiddler, я сравнил запрос браузера, который работает с запросом RestSharp, который не видит и не видит того, что отсутствует или что неправильно. Запрос RestSharp содержит заголовок HTTP "Host" с правильным значением.
1 ответ
Что вы имеете в виду "это работает, когда запрос приходит из браузера"? Сервер возвращает html или вы действительно вызываете rest api через браузер (для теста)? Можете ли вы опубликовать http заголовки из запроса браузера и запроса resttsharp?
У меня была похожая проблема в одном из моих проектов (но получение 404 не найдено). Я обнаружил, что добавление заголовка "Accept: application/json" решило эту проблему.