chamlien 发表于 2013-9-1 00:08:48

【已解决】如何验证这种网络连接的连接状态?

本帖最后由 chamlien 于 2013-9-26 21:46 编辑

我知道ping可以验证网络是否连接,但学校采取RAS的认证方式,只要插着网线,就能ping通外网,

但是此时QQ是上不去的,浏览器访问任何地址都会跳转到学校的认证页面要求验证才能浏览外网,

所以采取ping的方式来验证网络是否连通在这种情况下不合理,请问怎样判断用户真正连接了外网呢?

chamlien 发表于 2013-9-1 00:37:14

本帖最后由 chamlien 于 2013-9-1 00:38 编辑

呵呵,我自己搞定了,思路是通过获取北京时间来判断是否接上了外网,代码如下:Local $http = 'http://www.timedate.cn/worldclock/ti.asp'
      Local $sData = InetRead($http, 1)
      Local $Source = BinaryToString($sData, 1)
      Local $aSR = StringRegExp($Source, 'n\w+\=(\d+)', 3)
      If @error Or UBound($aSR) < 7 Then msgbox(0,"","网络未连接")      
      MsgBox(0,"","已连接网络")代码改自:http://www.autoitx.com/forum.php?mod=viewthread&tid=37143

tutou9997 发表于 2013-9-1 02:26:06

请小伙伴将分类改成[已解决]

menfan1 发表于 2013-9-1 09:21:23

内网呢考虑过不

chamlien 发表于 2013-9-1 11:11:03

学校用的就是内网

kkk123 发表于 2013-12-11 11:55:02

学习了。谢谢分享

kkk123 发表于 2013-12-11 11:58:38

学习了。谢谢分享

nqawen 发表于 2014-12-4 14:58:20

学习了,思路不错

hgzhoulin 发表于 2015-3-6 16:18:34

学习了,学习了。

xyx115 发表于 2018-1-27 21:27:40

感谢分享,虽然发现有时候获取不准确,但是思路值得参考

81569310 发表于 2018-11-16 18:23:52

_getip() 自带的UDF
页: [1]
查看完整版本: 【已解决】如何验证这种网络连接的连接状态?