我正在开发一个应用程序,它有一个 Web 服务器和一个将 XML 发布到 Web 服务器的 C# 客户端。Web 服务器需要知道客户端的本地 IP 地址。我尝试了在服务器端检索 IP 地址的方法,但是当中间有代理服务器或 NAT 时,这些方法不会给出客户端的 IP 地址。所以我需要在客户端应用程序中找到连接的本地 IP 并将其与请求一起发送。
问题出在HttpWebRequest
. 我没有看到任何方法可以在发送 HTTP 请求时获取连接的本地 IP 地址。
澄清:
在我的案例中,客户端不是基于浏览器的。它是一个 C# 应用程序。我的服务器有基于本地 IP 的特定规则,用于在发送 HTTP 请求时连接到服务器。就我而言,本地 IP 是固定的。Socket
本地计算机上可能有多个 IP——这就是为什么我希望与用于发送请求的本地 IP 相关联的原因。如果我在 C# 中使用并在其上实现 HTTP 协议,则可以解决此问题TcpClient
,但我想避免这种情况。那么,有什么方法可以HttpWebRequest
在发布请求之前获取关联的套接字?