我想在vb.net中获得当前的Internet IP地址。我不想要本地主机的IP地址。像如(http://www.ipchicken.com/网站返回的IP地址)在vb.net获取IP地址
回答
你可以只知道,如果你的主机(PC)有静态的互联网IP地址的真实IP地址,而不是像194.xxx或10.xxx等http://en.wikipedia.org/wiki/Private_network 否则尝试发送HTTP请求服务一样www.ipchicken.com或其他http://www.google.ru/search?hl=en&q=my+ip+address知道你的IP地址
嗨,感谢您的回复,但如何返回vb.net.please中的值告诉代码 – Arul 2010-09-09 06:44:17
我明白你是想为您出现的是IP地址互联网而不是你的内部网络IP。我有一些代码的地方,我会发掘出你,但它基本上是由这(从内存中):
- 创建WebRequest和WebResponse对象
- 请求一个网页(使用的WebRequest),显示您的使用regular expressions收集您的IP IP(如IP Chicken),并捕捉到WebResponse对象
- 响应解析响应
就像我说的,我会尽量挖掘出的代码,但这个应该是更多次一个足够的信息供你使用:-)
像这样的东西应该得到你当前的公共IP。
Public Class Form1
Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
AddHandler wb.DocumentCompleted, AddressOf wb_DocumentCompleted
End Sub
Public WithEvents wb As New WebBrowser
'before using wb add
'AddHandler wb.DocumentCompleted, AddressOf wb_DocumentCompleted
Private Sub GetPubIP()
Try
'the site returns a string like "Current IP Address: 69.59.196.211"
wb.Navigate(New Uri("http://checkip.dyndns.org"))
Catch ex As Exception
'add error checking
End Try
End Sub
Private Sub wb_DocumentCompleted(ByVal sender As Object, _
ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
'parse the reply
Dim parts() As String = wb.Document.Body.InnerText.Split(":"c)
Debug.WriteLine(parts(1).Trim)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
GetPubIP()
End Sub
End Class
好的谢谢先生。我期待这位先生。我很开心 – Arul 2011-01-21 12:58:29
这就是你要找的。我写了一个简单的PHP脚本返回调用时的IP地址,然后写了这个VB.Net代码来调用它在任何时候:
Public Function jnWhatIsMyExternalIP() As String
Dim strURL As String = "http://www.mycompanywebsite/jnNetworkTools/jnCheckIP.php"
Dim Request As System.Net.WebRequest = System.Net.WebRequest.Create(strURL)
Dim Response As System.Net.WebResponse = Request.GetResponse()
Dim Reader As New System.IO.StreamReader(Response.GetResponseStream())
Dim strMyIP As String = Reader.ReadToEnd()
Return strMyIP
End Function
这里是PHP代码,在jnCheckIP.php:
<?php
echo $_SERVER['REMOTE_ADDR'];
?>
调用VB.Net函数会导致用户计算机调用服务器上的PHP脚本,然后返回用户IP地址。
Function GetIP() As String
Dim IP As New WebClient
Return IP.DownloadString("http://icanhazip.com/")
End Function
- 1. 用VB.NET获取“真实”IP地址?
- 2. 获取IP地址
- 3. 获取IP地址
- 4. 获取IP地址
- 5. 获取IP地址在Lua
- 6. 获取本地IP地址
- 7. 获取IP地址的mac地址
- 8. 在两个IP地址之间获取IP地址列表
- 9. 获取本地IP地址在Delphi
- 10. 从arp获取IP地址
- 11. 如何获取IP地址?
- 12. 从bssid获取IP地址
- 13. 获取我的IP地址
- 14. 如何获取IP地址?
- 15. 获取IP地址C#
- 16. 获取多个IP地址
- 17. 获取ip地址的值
- 18. JAVA获取IP地址
- 19. 获取ip地址与XcvData
- 20. 获取全球IP地址
- 21. jQuery获取IP地址
- 22. VB.Net获取偏移地址
- 23. 取IP地址
- 24. 从网址获取IP地址
- 25. 从VB.net中的用户名获取IP地址
- 26. 在Sinatra获取客户的IP地址?
- 27. 在Python中获取远程IP地址
- 28. 在Android中获取网络IP地址
- 29. 如何在PageMethod中获取IP地址?
这个问题没有通用的解决方案。有NAT,动态代理,以及其他许多事情。你可以退后一步并描述你正在试图解决的问题,这导致你决定你需要找到机器的互联网IP地址吗? – 2010-09-09 06:52:16