查询本机的公网IP地址 5


当一个机器连接到互联网中,通常会从ISP(互联网服务提供商)得到一个公网IP地址,但是绝大数机器位于局域网中,因此机器的IP地址和网关的公网IP地址不同。但当机器访问部署在公网上的web服务时,就会把自己的公网IP暴露在外。
PowerShell 3.0 中有一条非常方便的命令Invoke-WebRequest,可以让用户访问web服务器,并且下载数据,下面的例子通过简单的一行脚本就可以获取用户当前的公网IP。

(Invoke-WebRequest 'http://myip.dnsomatic.com' -UseBasicParsing).Content

另外用户还可以通过 -Proxy 和 –ProxyCredential 指定 代理服务器。
引用链接:Finding Public IP Address

2014年1月2日更新:有很多网站提供IP地址查询服务,更多请参阅3楼(小楼)的评论。

本文链接: https://www.pstips.net/finding-public-ip-address.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

5 条评论 “查询本机的公网IP地址

  • guest

    请问为什么会运行后显示:
    无法将“invoke-webrequest”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路
    径正确,然后重试。

  • 小楼
    $URI = "http://freegeoip.net/xml/"
    #建立WebClient物件
    $webclient = New-Object System.Net.WebClient
    #获取URL的值,取得XML
    $proxy = [xml]$webclient.downloadstring($URI)
    $proxy.Response.Ip
    
    
    $xmlip=Invoke-RestMethod http://www.freegeoip.net/xml
    $xmlip.Response.Ip
    
    #http://ifconfig.me/
    $ip=Invoke-RestMethod  ifconfig.me/ip
    $ip
    
    $ip=Invoke-RestMethod  ifconfig.me/all.xml
    $ip.info.ip_addr
    
    $ip=Invoke-RestMethod  icanhazip.com
    $ip
    
    $ip=Invoke-RestMethod  http://submit.apnic.net/templates/yourip.html
    $ip.html.body.strong
    
    (Invoke-WebRequest 'http://myip.dnsomatic.com' -UseBasicParsing).Content
    #http://www.whatismyip.org/
    #http://checkip.dyndns.com/
    

    我以前整理的,都可以获取公网IP