【python】端口服务开了再去请求,否则不请求

该代码段使用Python的telnetlib模块进行端口扫描,尝试连接到指定的IP地址和端口号来检查其是否开放。如果端口开放,它会记录信息并返回True,否则记录错误信息并返回False。在循环中,如果多次尝试仍无法连接,则等待一段时间后重试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import sys
import telnetlib

def telnet(host="127.0.0.1", port="8128"):
    """
    测试端口号通不通
    :return:
    """
    try:
    	#  timeout单位s
        telnetlib.Telnet(host=host, port=port, timeout=2)
        logger.info(f"111---------------------{host} {port}  端口开放")
        return True
        
        
    except:
        
        logger.error(f"111--------------------{host} {port}  端口未开")
        # 或什么都不打印
        return False

    # http://127.0.0.1:8128/alg_analyse_bytes/
    host = url[7:16]
    port = url[17:21]
    telnet_max_num = 3
    current_telnet_num = 0
    telnet_flag = False
    while (current_telnet_num < telnet_max_num) or (not telnet_flag):
        current_telnet_num+=1
        telnet_flag = telnet(host,port)
        if telnet_flag:
            break
        else:
            time.sleep(30)
    
    logger.info("cccccccccccccccccccccccccccccc  " + str(telnet_flag))
    
    if not telnet_flag:
        return False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值