如何在 C# 中以编程方式获取 Web 浏览器的 IP 地址和端口号?

发布于 2024-12-19 08:11:49 字数 579 浏览 0 评论 0原文

我正在创建一个位于 Web 浏览器和 Web 服务器之间的 Http 代理,根据我的要求,代理服务器应获取IP 地址端口号< /strong> 已发出请求的网络浏览器。这是一个代表代理和 Web 浏览器之间连接的类。

  public class Client
  {
    public Client(IPAddress browserIP, int browserPort)
    {
       /*Use browserIP and browserPort to create a socket object*/
    }
  }

请注意,我既没有使用 HttListener 也没有使用 HttpRequest 对象!我创建了一个自定义 Request 对象,它允许我设置 http 标头和 HttpRequest 对象不执行的其他操作;但我的 Request 对象没有获取浏览器 IP 地址的方法和港口。

I am creating a Http proxy that seats between the web browser and the web server and based on my requirements the proxy server should get the IP address and port number of the web browser that has made a request. Here is a class that represent the connection between the proxy and web browser.

  public class Client
  {
    public Client(IPAddress browserIP, int browserPort)
    {
       /*Use browserIP and browserPort to create a socket object*/
    }
  }

Note that i am not using neither HttListener nor HttpRequest objects! I have created a custom Request object that allows me to set the http headers and other stuff that the HttpRequest object doesn't do;but my Request object doesn't have a method to get the browser IP address and Port.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

宁愿没拥抱 2024-12-26 08:11:49

看看这个 class

就可以使用Request对象来获取请求端的IP。

string remoteAddr = Request.UserHostAddress;

编辑:这将为您提供主机名。足够好开始了!

Check out this class

You can use the Request object to get the IP of the requesting end.

string remoteAddr = Request.UserHostAddress;

EDIT: That'll get you the Hostname. good enough to get started with!

烟凡古楼 2024-12-26 08:11:49
  string  ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (ipaddress == "" || ipaddress == null)
                ipaddress = Request.ServerVariables["REMOTE_ADDR"];

尝试以上方法。它获取请求客户端的 IP。

  string  ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (ipaddress == "" || ipaddress == null)
                ipaddress = Request.ServerVariables["REMOTE_ADDR"];

Try the above. it fetches the ip of the requesting client.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文