在vb.net中不使用链接获取ip地址

时间:2013-09-12 13:53:19

标签: vb.net

所以...我想在vb.net中获取 EXTERNAL IP ...(不是内部192.168.0.100)而不使用像http://www.whatismyip.com这样的任何链接...所以我在谷歌上进行大量搜索,我得到了一个代码:

Public Function IpAddress()
    Dim strIpAddress As String
    strIpAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    If strIpAddress = "" Then
        strIpAddress = Request.ServerVariables("REMOTE_ADDR")
    End If
    IpAddress = strIpAddress
End Function

dim blabla as string = Request.ServerVariables("REMOTE_ADDR")

我导入sistem.web和sistem.net 我也安装了web开发人员工具包和asp.net * 但没有 ... * 请求未声明

然后我放在请求前面 HttpContext.Current ... HttpContext.Current.request ....

我收到了这个错误: 对象引用未设置为对象的实例

3 个答案:

答案 0 :(得分:0)

您的计算机甚至不知道其外部IP地址。您必须询问外部计算机,因为您无法从内部看到外部IP。

答案 1 :(得分:0)

正如@Constantin Berhard所说,你应该向外面询问。

例如,您可以使用Web服务。你可以开发它或只使用你已知的whttismyip。

您可以在此处获得有关可以使用的API的所有信息。

http://www.whatismyip.com/api-documentation/

答案 2 :(得分:0)

如果服务器具有外部域名,则可以对该域名进行DNS查找。您将依赖外部服务,但不依赖于特定服务。

dim host as IPHostEntry = GetHostEntry("example.com")