我使用代理应用程序(如 Psiphon 或 ProtonVPN)连接到互联网。我想获取我连接到互联网的 IP 地址。
我需要使用 CMD 或 PowerShell,因为稍后我想在 Autohotkey 中使用 IP 地址。
现在我一直在寻找方法来做到这一点很长一段时间,我得出的结论是这是不可能的。但我决定问这个问题,因为我可能会遗漏一些东西。此外,任何解决方法或应用程序都会受到赞赏。
这是我到目前为止所尝试的:
命令:
for /F "tokens=2" %i in ('"nslookup myip.opendns.com resolver1.opendns.com | find /i "address" | find /v "208.67.222.222""') do echo %i
此命令将打印我的真实 IP 地址,它不通过代理。
我发现它不起作用的原因是: Windows,而不是管理员:代理在 Firefox 中工作但在 cmd 中不起作用,为什么?
所以上面问题的答案声称 TCP 连接将被代理,所以我发现了这个:
电源外壳:
Resolve-DnsName -Name myip.opendns.com -Server resolver1.opendns.com -TcpOnly
但这也行不通。
您可以使用以下 PowerShell 命令使用 RESTful Web 服务通过 HTTP 获取您的公共 IP:
根据路由表配置等,此方法在某些情况下可能不起作用。
在这种情况下,我很高兴它对您有所帮助。
如果您的 Windows 10 版本是 17063 或更高版本,使用
cUrl.exe
也可以。C:\windows\system32\cUrl.exe
[√]来源