我正在创建一个 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地址的方法和港口。
答案 0 :(得分:1)
答案 1 :(得分:1)
string ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (ipaddress == "" || ipaddress == null)
ipaddress = Request.ServerVariables["REMOTE_ADDR"];
尝试以上方法。它获取请求客户端的IP。