我需要尝试与域建立连接,以确定特定服务器是否联机
我曾尝试使用套接字创建连接,但即使域处于联机状态,它也从未建立连接
import socket
def ConnectionTest():
domain = "www.something.com/uptimecheck"
try:
socket.create_connection((domain, 443))
return True
except OSError:
pass
return False
即使我知道域是在线的连接测试总是返回假,而理论上它应该返回真
我做错什么了
您使用的地址必须解析为IP地址才能与
socket
一起使用,因此您只需要使用域地址和端口(不需要路径/uptimecheck
):只需测试URL是否存在,服务器是否正在发送响应,它可以是任何代码,甚至500
您正在443上连接服务器,这意味着您正在检查应用层协议为HTTPS的TCP套接字,即远端套接字元组为
(<server_ip>, 443)
因此,您可以不用使用典型的web客户机,例如
requests
就是其中之一(如果尚未安装,请使用pip install requests
安装):现在,你可以做:
注意,我已经在URL路径前面添加了协议(
https
)相关问题 更多 >
编程相关推荐