使用httpListener创建自定义网站,URL作为我的IP地址

本文关键字:我的 IP 地址 URL httpListener 创建 自定义 网站 使用 | 更新日期: 2023-09-27 18:25:43

我想创建一个以URL作为我的IP地址的网站[ex:192.X.X.X]

该网站会向任何访问我的URL的用户回复一条"你好"消息。

我使用以下代码来完成此操作![这只是一个没有线程的基本代码]

class listenToHTTP
{
    HttpListener _listner;
    public void start()
    {
        _listner = new HttpListener();
        _listner.Prefixes.Add("http://localhost/");//default port 80
        _listner.Start();
    }
    public void process()
    {
         while (true)
         {
            HttpListenerContext context = _listner.GetContext();
            byte[] output = Encoding.ASCII.GetBytes("HELLO THERE");
            context.Response.ContentEncoding = Encoding.ASCII;
            context.Response.ContentLength64 = output.Length;
            context.Response.OutputStream.Write(output, 0, output.Length);
          }
     }
}

问题是,我不知道任何人都可以访问的IP地址

当我使用时,它完美地显示了"你好"的响应http://localhost/作为URL。

但是其他人会使用什么IP地址来访问我的简单网站。

我在浏览器中尝试了我的IP地址,但它不起作用

使用httpListener创建自定义网站,URL作为我的IP地址

执行此操作时需要注意两件事;

  • 如果您侦听localhost地址,则只有localhost能够连接到您的HttpListener。您需要添加一个带有http://192.X.X.X/的前缀(其中192.X.X.X当然是您的本地IP),然后收听。这可能(取决于您的操作系统)需要您以管理员身份运行,至少如果您想在端口<1024.您可以通过从本地机器而不是本地主机地址连接到您的IP#来测试这是否有效。

  • 如果你运行的是Windows,防火墙可能会挡住你的去路。如果看起来是这样(即你可以从本地机器连接到你的IP#,但没有其他东西可以连接),你需要手动打开端口。谷歌上有很多关于如何做到这一点的指南。

@Joachim回复已经足够好了。我想补充一点。。。

  1. 您需要公开上述IP地址,以便其他人可以访问该URL
  2. 如果仅向您的域公开URL(即在Intranet的情况下),请与您的系统管理员联系以配置Intranet上的IP地址
  3. 本地主机设置的可访问性仅限于您的计算机
  4. 确保检查URL可访问性的防火墙约束以实现点1或2

有关更多信息,请查看HTTPListener的参考

  1. HTTPListener
  2. HTTPListener
  3. HTTPListener

问题是,我引用的private network地址是localnetwork,并且该private network之外的任何人都无法访问。。

这些是专用网络中使用的ip-address的范围,因此具有此地址的系统不能是服务器或网站主机。。

10.0.0.0 to 10.255.255.255
172.16.0.0 to 172.31.255.255
192.168.0.0 to 192.168.255.255

你应该使用公共地址。。