访问别人提供的网络服务时,对方出于安全性方面的考虑,可能会对请求的IP进行白名单限制,这时候需要提供机器的出口IP。比如目前微信公众号对于访问其接口需要先绑定开发者的服务器IP,这个IP实际上就是开发者服务器的出口IP。

但是获取当前机器的公网出口IP并不是想象中的那么容易。如果你的电脑直接暴漏在公网中,通过ipconfig或者ifconfig可以直接获取到这个IP。但是如果你在局域网中,ipconfig之类的命令只能获取到局域网分配的内部IP,这个地址在公网中不能访问。

局域网用户一般通过代理服务器上网。比如家里有三台电脑都需要上网,它们都连接到某个路由器,这个路由器再将相应的网络请求转发到实际的地址,路由器这时候就起到代理服务器的作用。再比如某个公司的服务器机房,其中部分机器需要访问外部网络,为每台机器分配独立的公网地址很不划算,这时候也需要通过某个代理服务器访问公网。这时候代理服务器的公网IP地址才是你的公网出口IP。

但是有些时候公网IP并不一定就是公网出口IP,上边两个例子中是内网访问外网资源,反过来,外网访问内网资源时同样可以使用代理服务器,称之为反向代理。这种方式通过在反向代理服务器开放某个端口,然后将对此端口的访问映射到提供服务的内网机器。对于外网用户来说,他们看到的就是反向代理服务器提供了相应的网络服务,完全不知道内网机器的存在。提供代理和反向代理的服务器可能是同一个,比如家庭路由器,既提供了代理上网的功能,还可以将某些端口开放并映射到内网电脑。但是在企业网络服务的生产环境中,出于资源管理、性能、以及安全性等方面的考虑,代理服务器和反向代理服务器一般选择不同的网络通道,使用不同的IP地址。

这些IP地址一般都可以通过网络管理员或者网络服务运营商来获得。但是在某些情况下获取这些信息可能不是很方便。比如家庭上网时对外的IP经常改变,需要及时的获取最新的IP地址,电信运营商不会搭理你。再比如使用虚拟主机的情况下,服务商只提供了主机对外提供服务时使用的IP地址,应用程序访问外部服务时可能使用了不同的网络通道,这个网络通道的IP地址没有相应的说明。

那么如何才能快速准确的获取公网出口IP呢?

可以直接访问某些提供此服务的网站,比如ip138或者百度,都可以在页面显示此IP,但是页面上也会有很多无关的其它内容,把IP地址摘出来还是有些麻烦。目前网络上也有人提供了一些接口,可以通过程序发起http请求来获取此IP,但是要么国外的访问不稳定,要么国内的不够简洁。

有没有一种简洁高效快速的方式呢?没有广告和过多的说明,既可以浏览器直接访问,也可以通过程序定时刷新。

很荣幸FireflySoft现在提供了这种获取出口IP的方式,浏览器访问 http://myip.fireflysoft.net,直接返回你的出口IP地址,没有任何其他信息干扰,阿里云多线网络接入,速度杠杠滴。当然自己写个程序访问也是一样的。看下图:

网络环境复杂多变,开发人员只需在服务器发起一次HTTP请求,就能获取到这个IP。

转自:http://blog.bossma.cn/server/use-a-http-request-get-your-outbound-ip/

钉钉开发之使用HTTP请求获取你的公网出口IP相关推荐

  1. (转)linux获取/查看本机出口ip

    获取/查看本机出口ip  curl http://members.3322.org/dyndns/getip 1 curl ifconfig.me 2 #或者 3 curl http://member ...

  2. Linux用命令获取广域网(公网)IP地址

    echo `curl -L http://txt.go.sohu.com/ip/soip|sed 's/^.*sohu_user_ip="//g'|sed 's/";sohu_IP ...

  3. connect time out 获取token失败_Power Query之获取钉钉日志自动刷新Power BI报告

    焦棚子的文章目录 请点击下载附件 一.背景 最近在玩钉钉日志,企业填写简单数据后方便汇总到一起比较实用的工具,但数据填写以后还是需要下载日志报表,比较麻烦. 在做BI的时候,可不可以用pq(power ...

  4. 钉钉小程序 企业内部应用开发

    综述 什么是钉钉小程序 小程序是一种全新的开发模式,是一种不需要安装即可使用的应用.钉钉小程序以办公社交app钉钉为载体,支持iOS.安卓等多种操作系统部署. 钉钉小程序开发使用AXML(钉钉修改过的 ...

  5. 141_Power Query之获取钉钉审批流自动刷新Power BI报告

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 钉钉办公给很多企业带来了很多方便,比如审批流线上化,通用化.线上化填写后,数据自动获取又是一个硬伤了,虽然数据可 ...

  6. 131_Power Query之获取钉钉日志自动刷新Power BI报告

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 最近在玩钉钉日志,企业填写简单数据后方便汇总到一起比较实用的工具,但数据填写以后还是需要下载日志报表,比较麻烦. ...

  7. 与钉钉对接实践记录--准备工作

    背景: 公司要求使用精斗云进行财务管理与采购管理.生产管理,最早是打算找一个开源项目进行二次开发拿来使用的,但后来其他开发任务比较忙,再加上精斗云相比较而言比较便宜,我们作为一个科技型没必要自己费劲巴 ...

  8. 钉钉 python调用审批信息_python之钉钉审批导出

    钉钉审批导出需要管理员协助配合并且需要参考钉钉开发文档. 1.获取access_token 正常情况下access_token有效期为7200秒 钉钉开发指南:https://open-doc.din ...

  9. java信息化平台_Java开源企业信息化平台O2OA接入企业钉钉

    此篇参照钉钉新的微应用添加接口规范编写,希望对大家有用. 如果O2OA成功接入钉钉,O2OA将会自动从钉钉拉取所有的人员和组织进行同步,O2OA的所有人员和组织以企业钉钉中创建的组织架构为准( 本地已 ...

最新文章

  1. 广联达2018模板算量步骤_老师傅带你学造价,广联达GTJ2018图文详解,小白也能学会的软件...
  2. 程序实现:由给定几个数确定凸组合系数,组成一个给定的数
  3. oracle安装清单过不去,oracle 11g(二)安装过程
  4. 实用工具篇(三):Free Mybatis plugin
  5. Spring 3.0参考之SpEL
  6. 字符串是单一字符的无序组合吗_计算机二级教程 Python语言程序设计 第6章组合数据类型...
  7. Android 行程APP简单介绍
  8. linux dev nfc,linux下的nfc开发
  9. List和Set中忽略的方法addAll(Collection c)和retainAll(Collection c)
  10. Java ArrayList 数组之间相互转换
  11. css电子表数字,使用css实现电子数字效果
  12. 使用DAEMON Tools Ultra制作Ubuntu启动U盘全过程(含图文)
  13. IIS发布网站后网页样式丢失
  14. R语言绘制复杂抽样设计数据cox回归生存曲线(Kaplan-Meier)
  15. MySQL 安装失败 Failed to find valid data directory
  16. 游戏防外挂、破解解决方案
  17. rpm 安装 忽略依赖_使用 RPM 安装软件包的常见问题
  18. Vim查找、替换与删除常用命令
  19. 网上订餐管理系统的设计与实现
  20. 程序员,绝不认输!!

热门文章

  1. 【初级算法】10.有效的数独
  2. java jnlp 签名_JNLP(jar包签名)
  3. python文件比较,判断两个文件是否相同
  4. 真正的小说 真正的生活 真正的蜕变 真正的品味
  5. 百度网盘如何在线播放电影?
  6. 用matlab抽奖,现在社会上销售彩票的很多。一家三口在抽奖时,常常喜欢让孩子来抽,请问这是遵循了什么决策原则(   )...
  7. 钳工常识与钳工技能实训教学
  8. Python矩阵计算-Numpy
  9. 5G来临,我们该如何打造自己的家庭数据中心 - 基础篇
  10. AutoSAR系列讲解(深入篇)13.1-闪烁一颗LED灯 1