【发布时间】:2010-12-19 19:10:50
【问题描述】:
我正在开发一个应用程序,它有一个 Web 服务器和一个将 XML 发布到 Web 服务器的 C# 客户端。 Web 服务器需要知道客户端的本地 IP 地址。我尝试了在服务器端检索 IP 地址的方法,但是当中间有代理服务器或 NAT 时,这些方法不会给出客户端的 IP 地址。所以我需要在客户端应用程序中找到连接的本地 IP 并与请求一起发送。
问题出在HttpWebRequest。我没有看到任何方法可以在发送 HTTP 请求时获取连接的本地 IP 地址。
澄清:
我的客户端不是基于浏览器的。它是一个 C# 应用程序。我的服务器有基于本地 IP 的特定规则,用于在发送 HTTP 请求时连接到服务器。就我而言,本地 IP 是固定的。本地机器上可能有多个 IP——这就是为什么我想要与用于发送请求的 Socket 关联的本地 IP。如果我在 C# 中使用 TcpClient 并在其上实现 HTTP 协议,则可以解决此问题,但我想避免这种情况。那么,有什么方法可以在发布请求之前获取与HttpWebRequest 关联的套接字?
【问题讨论】:
-
要添加到 CodeByMoonlights 答案,这将是不可靠的,是什么让您认为客户端只有 1 个 IP 地址?我认为,NAT 可能 会妨碍这一事实表明这不是 Intranet 场景。所以也许退后一步,告诉我们您要解决的问题,而不是您已经设计的解决方案的问题。
标签: c# httpwebrequest ip