使用RestSharp调用在启用主机头的IIS实例上运行的API

使用RestSharp调用在启用主机头的IIS实例上运行的API,iis,restsharp,hostheaders,Iis,Restsharp,Hostheaders,我有一个配置了多个站点的IIS服务器。它们都在端口80上提供服务,所以我使用主机头配置将请求路由到正确的站点。当请求来自浏览器时,这一切都可以正常工作。然而,当我使用RestSharp调用其中一个站点(提供RESTAPI)时,我会收到一条“无法解析地址”消息。如果我将API web切换到另一个端口并停止使用主机头,它就会工作。因此,我使用RestSharp生成的请求不符合服务器的期望?使用Fiddler,我将一个浏览器请求与一个RestSharp请求进行了比较,该请求不起作用,也没有发现遗漏或错

我有一个配置了多个站点的IIS服务器。它们都在端口80上提供服务,所以我使用主机头配置将请求路由到正确的站点。当请求来自浏览器时,这一切都可以正常工作。然而,当我使用RestSharp调用其中一个站点(提供RESTAPI)时,我会收到一条“无法解析地址”消息。如果我将API web切换到另一个端口并停止使用主机头,它就会工作。因此,我使用RestSharp生成的请求不符合服务器的期望?使用Fiddler,我将一个浏览器请求与一个RestSharp请求进行了比较,该请求不起作用,也没有发现遗漏或错误。RestSharp请求确实包含具有正确值的HTTP头“Host”。

您所说的“当请求来自浏览器时它工作”是什么意思?服务器是否返回html,或者您实际上是通过浏览器调用RESTAPI(用于测试)?您能从浏览器的请求和restsharp的请求中发布http头吗?
我在我的一个项目中遇到了类似的问题(但找不到404)。我发现添加一个标题“Accept:application/json”解决了这个问题。

你说的“当请求来自浏览器时它工作”是什么意思?服务器是否返回html,或者您实际上是通过浏览器调用RESTAPI(用于测试)?您能从浏览器的请求和restsharp的请求中发布http头吗?
我在我的一个项目中遇到了类似的问题(但找不到404)。我发现添加一个标题“Accept:application/json”解决了这个问题