从外部IP调用HttpListener



我在C#中有一个非常简单的API用于测试。API是在Windows窗体项目中创建的

listener = new HttpListener();               
listener.Prefixes.Add(url);
listener.Start();
LogUtils.appendInfo("Listening for connections on: " + url);
//Handle requests
Task listenTask = HandleIncomingConnections();
listenTask.GetAwaiter().GetResult();

如果我打电话http://localhost:8080/我收到API的回复。

问题是,如果我使用外部IP地址从另一台电脑调用APIhttp://ExternalIp:8080/

我得到这个错误:

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

我尝试过的:

  • 我在防火墙中为传入连接中的端口8080设置了一条规则
  • 我已经用ISS服务器进行了测试,该服务器使Windows server 2019时断时续
  • 我在"C:\Users\myUser\source\repos\myProyect.vs\proyectname\config"中为<'创建了一个"applicationhost.config"文件绑定协议=";http";bindingInformation=">:8080:"/>因为我的项目没有applicationhost.config文件

正如@PanagiotisKanavos评论的那样,我不能使用"localhost";在";听众。前缀。添加";用于外部请求。

解决者:

http://*:8080/

并以管理员身份运行Visual Studio。

相关内容

  • 没有找到相关文章

最新更新