Grapevine 远程连接错误请求 - 主机名无效

Posted

技术标签:

【中文标题】Grapevine 远程连接错误请求 - 主机名无效【英文标题】:Grapevine Remote Connection Bad Request - Invalid Hostname 【发布时间】:2017-08-26 15:43:57 【问题描述】:

我用小道消息设置了一项休息服务,而且即使防火墙关闭,我也无法远程访问。

你是只接受通过localhost还是127.0.0.1的连接,当我尝试访问机器的IP或者远程给出这个错误

错误请求 - 无效的主机名 HTTP 错误 400。请求主机名无效。

using (var server = new RestServer())

    server.Port = "9999";
    server.LogToConsole().Start();
    Console.ReadLine();
    server.Stop();

【问题讨论】:

【参考方案1】:

编辑:请参考(更新的)文档,特别是页面On Using HttpListener


当前默认值为localhost。您可以使用Host 属性直接更改:

server.Host = "*";

如果请求的 URI 不匹配任何其他前缀,则使用“*”表示 HttpListener 接受发送到端口的请求。同样,要指定 HttpListener 接受发送到端口的所有请求,请将主机元素替换为“+”字符。

因此,对于 Grapevine 4,您可以编写如下代码:

using (var server = new RestServerPort = "9999", Host = "*")

    server.LogToConsole().Start();
    Console.ReadLine();
    server.Stop();

【讨论】:

你能帮帮我吗?我有同样的问题。我在 VB.NET 上。尝试从不同的机器连接时,我也会收到 http 错误 400。我添加了 server.host = "",但这会导致 "UnableToStartHostExceprion"。我也试过 server.host = ""。但结果相同。

以上是关于Grapevine 远程连接错误请求 - 主机名无效的主要内容,如果未能解决你的问题,请参考以下文章

Grapevine REST 服务器,我无法通过 IP 或主机名从其他 PC 访问

Visual Studio 2013 WebTest 请求失败:现有连接被远程主机强行关闭

“握手期间远程主机关闭连接”错误的原因是啥?

Jsoup错误握手期间远程主机关闭连接

操作错误:现有连接被远程主机强行关闭。 (10054)

将 REST 请求从 HTML 按钮发布到 Grapevine