【问题标题】:Grapevine Remote Connection Bad Request - Invalid HostnameGrapevine 远程连接错误请求 - 主机名无效
【发布时间】: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();
}

【问题讨论】:

    标签: c# grapevine


    【解决方案1】:

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


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

    server.Host = "*";
    

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

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

    using (var server = new RestServer{Port = "9999", Host = "*"})
    {
        server.LogToConsole().Start();
        Console.ReadLine();
        server.Stop();
    }
    

    【讨论】:

    • 你能帮帮我吗?我有同样的问题。我在 VB.NET 上。尝试从不同的机器连接时,我也会收到 http 错误 400。我添加了 server.host = "",但这会导致 "UnableToStartHostExceprion"。我也试过 server.host = ""。但结果相同。
    猜你喜欢
    • 2019-05-10
    • 2016-10-20
    • 2015-08-17
    • 2014-03-29
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 2018-02-09
    相关资源
    最近更新 更多