什么是“URL”?
我在脑中快速回忆着,对了!URL即 Uniform Resource Locator的缩写,翻译成中文便是“统一资源定位符”。因为互联网世界存在着不计其数的资源,每一处资源都需要有一个标记来定位它,正如人类城市中的门牌号。
什么是IP?
IP即Internet Protocol的缩写,中文译为“互联网协议”,一个如雷贯耳的名字,互联网的基石之一,一切依赖互联网通信的软件都得遵循这个协议。
好了!既然了解了它们是什么.那么我们就直接上代码吧!
方法一,代码思路(可以指定dns服务器):
通过CMD -> nslookup vbee.xyz 8.8.8.8 -> 获取到IP地址然后解析文本即可!思路非常简单!
方法一,参考代码:
Public Class Cls_cmd
Private addr As String
Private dnss As String
''初始化类传递地址,dns
Public Sub New(ByVal address As String, ByVal dns As String)
addr = address.ToUpper.Replace("HTTP://", "").Replace("HTTPS://", "").Split("/")(0)
dnss = dns
End Sub
''获取cmd输出字符串
Private Function Get_cmd() As String
Try
Dim p As New Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardInput = True
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.RedirectStandardError = True
p.StartInfo.CreateNoWindow = True
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
p.Start()
p.StandardInput.WriteLine($"nslookup {addr.ToLower} {dnss}")
p.StandardInput.WriteLine("exit")
p.StandardInput.AutoFlush = True
Dim strOuput As String = p.StandardOutput.ReadToEnd()
p.WaitForExit()
p.Close()
Return strOuput
Catch
Return String.Empty
End Try
End Function
''分析取出IP地址,只取出第一条IP地址
Public Function Get_ip() As String
Try
Dim temp As String = Get_cmd()
Dim arr As Array = temp.Split(vbCrLf)
Dim tmp As String = String.Empty
For Each xl In arr
If xl Like "*Addresses:*" Then
tmp = xl.ToString.Replace(" ", "").Split(":")(1)
ElseIf xl Like "*Address:*" And Not xl Like "*" & dnss & "*" Then
tmp = xl.ToString.Replace(" ", "").Split(":")(1)
End If
Next
Return tmp
Catch
Return String.Empty
End Try
End Function
End Class
方法2:直接通过 .NET类实现(不能指定dns)
Public Function Get_ip(ByVal address As String) As String
Try
Dim host As String = address.ToUpper.Replace("HTTP://", "").Replace("HTTPS://", "").Split("/")(0)
Dim hostInfo As Net.IPAddress() = Net.Dns.GetHostAddresses(host)
Return hostInfo.ToArray(0).ToString
Catch
Return String.Empty
End Try
End Function