绿色风's Blog
专注AutoIT(Au3)
  • 首页
  • 流●年
  • 笔●记
    • 学习随记
    • 源码示例
  • 脚●本
    • UDF(收集)
    • 工作室UDF
    • 工具●教程
    • 教程之GDI
  • 作●品
  • 下●载
  • 情怀ExcelTip
10月122014

外网IP地址获取函数(6重地址备用)

作者:绿色风   发布:2014-10-12 2:22 Sunday   分类:   阅读:6659次   评论:0条  

做出这样的 函数 也是我个人写的程序痛苦的经历,昨天, 

两站不稳定导致程序全崩溃... 

现重新制作 IP地址 获取函数      地址选为 三组国外IP获取点   三组国内站的IP获取点. 

希望大家喜欢,与支持,好好写程序,不发范二了


;~ MsgBox(0, "测试1", JY_ipGet())
;~ MsgBox(0, "测试2", JY_ipTest())
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;共享给大家用吧.
;大家用IP限制软件时,一定记得多搞几个备用站
;吐嘈一下:
;               我做的定制软件,绑定IP的,昨天全崩溃的了.只因备用站点没找好.
;       现六重备用,足够使用的了.<简易工作室>
;--------------------------------------
; by:绿色风  Qq/E_mail:79664738@qq.com
;               强力支持风哥,顶!赞!顶!赞!顶!!!   2014-9-27
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;函数
;       JY_ipGet()  ;获取外网IP地址  地址来源 4个站点
;也可以单独调用
;                       详见 JY_ipTest中所列出来的
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;测试 IP的准确性用
Func JY_ipTest()
        Local $str = _chinaz()
        $str &= @CRLF & _ip138()
        $str &= @CRLF & _qqip()
        $str &= @CRLF & _apnic()
        $str &= @CRLF & _au3IP()
        Return $str
EndFunc   ;==>JY_ipTest
;;获取外网IP地址
Func JY_ipGet()
        Local $apnic_ip = _apnic() ;获取IIP的顺序  1  国外地址
        If $apnic_ip = 0 Then
                Local $chinaz_ip = _chinaz();获取IIP的顺序  2
                If $chinaz_ip = 0 Then
                        Local $au3_ip = _au3IP() ;获取IIP的顺序  3 4   国外地址
                        If $au3_ip = 0 Then
                                Local $ip138_ip = _ip138();获取IIP的顺序  5
                                If $ip138_ip = 0 Then
                                        Local $qq_ip = _qqip();获取IIP的顺序  6
                                        If $qq_ip = 0 Then
                                                Return "0.0.0.0"
                                        Else
                                                Return $qq_ip
                                        EndIf
                                Else
                                        Return $ip138_ip
                                EndIf
                        Else
                                Return $au3_ip
                        EndIf
                Else
                        Return $chinaz_ip
                EndIf
        Else
                Return $apnic_ip
        EndIf
EndFunc   ;==>JY_ipGet

Func _apnic()
        ;国内大多数网站 获取ip的来源于  [url]www.apnic.net[/url] 站
        Local $source = _INetGetSource("https://cgi1.apnic.net/cgi-bin/my-ip.php")
        Local $aIP = StringRegExp($source, 'ip:"(\d[\d.]+)"', 3, 1)
        If Not @error Then
                Return $aIP[0]
        Else
                Return 0
        EndIf
EndFunc   ;==>_apnic

Func _chinaz()
        Local $source = BinaryToString(_INetGetSource("http://tool.chinaz.com/IP", False), 4)
        Local $aIP = StringRegExp($source, '您的IP.*?(\d[\d.]+)', 3, 1)
        If Not @error Then
                Return $aIP[0]
        Else
                Return 0
        EndIf
EndFunc   ;==>_chinaz
Func _ip138()
        ;[url]http://iframe.ip138.com/city.asp[/url] 之前用此地址,既然现在不行的了.
        ;与QQ一起,我的备用地址.既然同一天崩溃的了.    纪念一下 2014.9.26
        Local $source = BinaryToString(_INetGetSource("http://www.ip138.com/ips138.asp", False))
        Local $aIP = StringRegExp($source, '地址是:\[(\d[\d.]+)\]', 3, 1)
        If Not @error Then
                Return $aIP[0]
        Else
                Return 0
        EndIf
EndFunc   ;==>_ip138
;现在还留着它,期待他能继续服务....
Func _qqip()
        ;2014.9.26 晚上,崩溃的了.害得我好苦.做的程序因它问题现在全停止的了.
        Local $source = _INetGetSource("http://ip.qq.com")
        Local $aIP = StringRegExp($source, '您当前的IP为.*?(\d[\d.]+)', 3, 1)
        If Not @error Then
                Return $aIP[0]
        Else
                Return 0
        EndIf
EndFunc   ;==>_qqip

Func _au3IP()
        ;Au3 函数中  _GetIP  带的 两个IP获取地址
        Local $source = _INetGetSource("http://bot.whatismyipaddress.com/")
        Local $aIP = StringRegExp($source, '((?:\d{1,3}\.){3}\d{1,3})', 3, 1)
        If Not @error Then
                Return $aIP[0]
        Else
                Local $source = _INetGetSource("http://www.myexternalip.com/raw")
                Local $aIP = StringRegExp($source, '((?:\d{1,3}\.){3}\d{1,3})', 3, 1)
                If Not @error Then
                        Return $aIP[0]
                Else
                        Return 0
                EndIf
        EndIf
EndFunc   ;==>_au3IP








本文固定链接: http://www.jianyiit.com/post-4.html

blogger
该日志由 绿色风 于2014-10-12 2:22 Sunday发表在 分类下。
版权所有:《绿色风's Blog》 → 《外网IP地址获取函数(6重地址备用)》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::吐嘈一下
下一篇:新版QQ网页临时会话代码

热门文章

相关文章

  • MSTSC远程自动登陆UDF
  • 钉钉群发消息webhook机器 人
  • 外网IP地址获取函数(6重地址备用)
  • 获取互联网时间[UDP方式]
  • 简单的动态密码设置
取消回复

发表评论

亲,头像对么?

50 + 98 =

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7223 条
    • 微语数量: 6 条
    • 附件总量: 388 件
  • 逝出的青春

  • 打赏"绿色风"



      扫码关注本站公众号 可搜本站内容

  • Autoit V3 脚本交流群

      常驻群1:905774875
      常驻群2:40672266


  • 链接

    • AU3中文论坛
    • Excel资料库
    • 完美者博客
    • 顺网小哥'S Blog
    • 猛牛哥的博客
    • 网吧系统下载
  • 分类

    • 流●年(66)
    • 笔●记(0)
    • 脚●本(0)
    • 作品(21)
    • 学习随记(51)
    • 源码示例(68)
    • UDF(收集)(26)
    • 工作室UDF(30)
    • 工具●教程(62)
    • 教程之GDI(24)
Copyright © 2013 绿色风's Blog. Powered by emlog. Theme by 射雕天龙. 鄂ICP备2021011689号-1 鄂公网安备42102302000078号 sitemap