找回密码
 加入
搜索
查看: 5566|回复: 4

[网络通信] 已解决:如何用域名查询端口是否打开!

[复制链接]
发表于 2011-3-20 00:47:00 | 显示全部楼层 |阅读模式
本帖最后由 bj17209 于 2011-4-1 10:05 编辑

比如说查询baidu的80端口是否开放,用ip检测提示是打开的,为什么用www.baidu.com域名查询却提示没有打开
TCPStartUp()
$Socket = TCPConnect("119.75.218.70", 80)
If $socket <> 1 and $socket <>-1 and $socket <>2 Then
msgbox (32,"OK","端口是开放的!^_^")
Else
msgbox (16,"ERROR","发现错误了!^_^")
endif
TCPCloseSocket($Socket)

以上代码用IP检测80端口是打开的

TCPStartUp()
$Socket = TCPConnect("www.baidu.com", 80)
If $socket <> 1 and $socket <>-1 and $socket <>2 Then
msgbox (32,"OK","端口是开放的!^_^")
Else
msgbox (16,"ERROR","发现错误了!^_^")
endif
TCPCloseSocket($Socket)
为什么用域名检测端口却是没有打开啊
请高手帮帮我啊

发表于 2011-3-20 01:12:17 | 显示全部楼层
请你再仔细看一下帮助文件:
TCPConnect
--------------------------------------------------------------------------------
创建一个套接字(socket)连接到已经存在的服务器.
TCPConnect ( IP地址, 端口)


是IP地址,不是域名。
你若非要用域名,可以先:TCPNameToIP ( 域名 ) 一下即可。
发表于 2011-3-20 01:14:03 | 显示全部楼层
本帖最后由 boyhong 于 2011-3-20 01:15 编辑

回复 1# bj17209

这样就可以了:
TCPStartUp()
$Socket = TCPConnect(TCPNameToIP("www.baidu.cn"), 80)
If $socket <> 1 and $socket <>-1 and $socket <>2 Then
msgbox (32,"OK","端口是开放的!^_^")
Else
msgbox (16,"ERROR","发现错误了!^_^")
endif
TCPCloseSocket($Socket)
TCPShutdown()
 楼主| 发表于 2011-3-20 10:47:25 | 显示全部楼层
好好,晓得了啊,谢谢了啊
发表于 2011-3-21 12:29:09 | 显示全部楼层
谢谢了,多学了一下函数, tcpstartup(),tcpconnet(),及tcpshutdown()
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 15:25 , Processed in 0.076961 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表