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

时间:2011-12-04 07:30:48

标签: c# http-proxy

我正在创建一个 Http代理,它位于Web浏览器和Web服务器之间,根据我的要求,代理服务器应该获得 IP地址发出请求的网络浏览器的端口号。这是一个表示代理和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地址的方法和港口。

2 个答案:

答案 0 :(得分:1)

查看此class

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

string remoteAddr = Request.UserHostAddress;

编辑:那会得到你的主机名。足够开始!

答案 1 :(得分:1)

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

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