这是我第一次编码,请原谅我的无知。我正在尝试制作一个简单的程序来检查我的IP,如果我的IP =“我的真实IP”,那么它将执行一个操作。基本上,我想知道我的VPN何时出现故障,如果发生故障,它将采取某些任意操作。
Imports System.Net
Module Module1
Function GetIP() As String
Dim YourIP As New WebClient
Return YourIP.DownloadString("http://icanhazip.com/")
End Function
Sub Main()
Console.Write(GetIP)
If GetIP() = "XX.XXX.XXX.XX" Then
Console.WriteLine("Works")
End If
End Sub
End Module
我在这里找到了一个与我的问题完全相同的人,解决方案是DownloadString在字符串的末尾添加了“ / n”,您基本上必须这样做
GetIP().Replace("/n", "")
删除它,但是该解决方案对我不起作用。
我运行了您的程序,发现尽管在控制台应用程序中,看起来GetIP生成的IP只是一个IP,但实际上它是最后带有'&vbLf'标记的IP。这意味着您的比较将始终失败。
为了解决这个问题,可以使用String.Replace从GetIP生成的字符串中删除vbLf,如下所示:
If GetIP().Replace(vbLf, String.Empty) = "XX.XXX.XXX.XX" Then
Console.WriteLine("Works")
End If
仅供参考,我通过在GetIP()的结果中设置变量并在调试过程中检查其内容来找到它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句