代码之家  ›  专栏  ›  技术社区  ›  Khaled Musaied

如何获取使用我的Web服务的网站的URL?

  •  2
  • Khaled Musaied  · 技术社区  · 15 年前

    我已经开发了一个Web服务并在我的服务器上托管它,我想知道谁在使用这个Web服务(站点URL)。我试图使用“request.urlreferr”,但它没有返回任何东西!有什么建议/建议吗?

    4 回复  |  直到 15 年前
        1
  •  3
  •   Zhaph - Ben Duguid    15 年前

    无法获取Web服务调用方的URL,因为并非所有调用方都具有规范的URL。但是,可以获取IP地址,前提是这些地址不在代理/NAT之后。在这种情况下,您将获得NAT/代理的IP。

    假设您使用的是ASMX Web服务,则可以从以下位置执行此操作:

    HttpContext.Current.Request.UserHostAddress
    

    一旦您有了IP地址,就可以尝试进行反向查找以获取主机名。我建议存储IP地址,然后编写一个脱机进程,该进程将执行并尝试确定谁拥有该IP。我确信有一些Web服务可以帮助解决这个问题。

        2
  •  0
  •   Kirtan    15 年前

    您可以使用request.url属性获取有关Web服务请求的所有信息。

        3
  •  0
  •   Stu Thompson Helter Scelter    15 年前

    推荐人由客户设置,客户可以 设置它。所以你什么也看不见。如果客户机是服务器,那么最好是获取客户机连接的IP并转到该IP。如果一个简单的设置,没有虚拟主机,那么 “网站” 正在访问您的Web服务。

        4
  •  0
  •   Community Dan Abramov    7 年前

    AS Josh states , the HttpRequest 对象是一种方法,其中有一些属性可能会有所帮助:

    1. UserHostName -获取远程客户端的DNS名称。
    2. UserAgent -获取客户端浏览器的原始用户代理字符串。
    3. UserHostAddress -获取远程客户端的IP主机地址。

    这可能会给你更多的信息。