如果你需要批量快速检测代理IP的可用性,下面提供一套开箱即用的Python脚本,支持多线程并发检测、自动适配HTTP/HTTPS、超时判断,检测完成后还能自动导出可用代理列表,完全可以直接复制运行。

批量检测代理IP的核心逻辑

检测的核心判断标准

代理IP的可用性需要满足两个核心条件:一是能成功建立网络连接,二是能正常返回测试地址的响应内容。脚本通过向公共测试地址发送请求,判断状态码是否为200,同时捕获超时、连接失败等异常场景,确保检测结果的准确性。

多线程提升检测效率的原因

单线程检测代理IP时,每个请求的等待时间会累积,导致批量检测速度极慢。采用多线程并发机制后,可以同时发起多个检测请求,将100个代理的检测时间从数分钟压缩到十几秒,大幅提升检测效率。

完整可运行的Python代理IP检测脚本

import requests
from concurrent.futures import ThreadPoolExecutor
import time

# ===================== 配置区 =====================
# 你的代理IP列表,格式:ip:端口 或 user:password@ip:端口

PROXY_LIST = [
    "123.123.123.123:8080",
    "45.67.89.10:3128",
    "11.22.33.44:1080",
    # 继续添加...
]

# 请求超时时间(秒),超过则判定为不可用

TIMEOUT = 5

# 并发线程数(批量检测速度更快)

MAX_WORKERS = 20

# 测试地址(用于验证代理是否连通)

TEST_URL = "https://httpbin.org/get"
# ====================================================

def check_single_proxy(proxy: str) -> str | None:
    """
    检测单个代理是否可用
    :param proxy: 代理IP,格式 ip:port
    :return: 可用返回代理字符串,不可用返回 None
    """
    # 构造代理格式
    proxies = {
        "http": f"http://{proxy}",
        "https": f"https://{proxy}"
    }

    try:
        # 发送测试请求
        response = requests.get(
            url=TEST_URL,
            proxies=proxies,
            timeout=TIMEOUT,
            headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}
        )

        # 状态码200 且 返回内容包含自身IP,说明代理有效
        if response.status_code == 200:
            print(f"✅ 可用代理:{proxy}")
            return proxy
        else:
            print(f"❌ 不可用代理:{proxy} | 状态码:{response.status_code}")
            return None

    except requests.exceptions.Timeout:
        print(f"❌ 超时代理:{proxy}")
        return None
    except requests.exceptions.ConnectionError:
        print(f"❌ 连接失败:{proxy}")
        return None
    except Exception as e:
        print(f"❌ 代理异常:{proxy} | {str(e)[:30]}")
        return None

def batch_check_proxies(proxy_list: list) -> list:
    """
    批量检测代理IP
    :param proxy_list: 代理列表
    :return: 可用代理列表
    """
    print(f"开始检测,共 {len(proxy_list)} 个代理...\n")
    start_time = time.time()

    # 多线程并发检测(大幅提升速度)
    with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
        results = list(executor.map(check_single_proxy, proxy_list))

    # 过滤掉 None,保留可用代理
    valid_proxies = [p for p in results if p is not None]

    # 输出结果
    print(f"\n==================== 检测完成 ====================")
    print(f"总耗时:{round(time.time() - start_time, 2)} 秒")
    print(f"总代理数:{len(proxy_list)}")
    print(f"可用代理数:{len(valid_proxies)}")
    print(f"可用代理列表:\n{valid_proxies}")

    return valid_proxies

if __name__ == "__main__":
    # 执行批量检测
    valid_list = batch_check_proxies(PROXY_LIST)

    # 可选:将可用代理保存到文件
    with open("可用代理.txt", "w", encoding="utf-8") as f:
        f.write("\n".join(valid_list))
    print("\n可用代理已保存到:可用代理.txt")

脚本使用与进阶优化指南

基础使用步骤

  1. 安装依赖:脚本仅依赖requests库,通过pip install requests即可完成安装。
  2. 填入待检测代理:修改代码中PROXY_LIST列表,支持无验证代理(格式为ip:端口)和带账号密码的代理(格式为user:password@ip:端口)。
  3. 运行脚本:执行脚本后会实时打印检测结果,检测完成后自动将可用代理保存到可用代理.txt文件中。

    进阶优化方向

  • 更换测试地址:国内用户可将TEST_URL改为国内站点(如https://www.baidu.com),提升检测速度。
  • 调整超时时间:根据网络环境调整TIMEOUT参数,网络环境较差时可设置为10秒,网络良好时可缩短至3秒。
  • 适配特定代理类型:如果仅需检测HTTP代理,可修改proxies配置,将HTTPS代理设为None

企业级场景下的专业代理IP选择

对于企业级的批量数据采集、广告监测、跨境业务访问等场景,手动收集并检测代理IP不仅效率低,还容易出现IP资源不稳定、合规性不足等问题,此时更推荐选择专业的企业级代理IP服务商,比如青果网络。

覆盖广泛的纯净IP资源池

青果网络的国内代理IP基于三大运营商宽带构建,每日更新600万+纯净IP资源,覆盖全国300多个城市与地区,海外业务场景则可提供2000W+纯净全球HTTP与海外代理IP资源池,能满足不同地域业务的访问需求。

高稳定的网络访问能力

其自研代理服务端会对所有上线IP进行检测验证,网络延迟低于100毫秒,可用率高达99.9%,同时采用业务分池技术,整体业务成功率比行业平均高出约30%,能有效避免批量检测后仍出现访问不稳定的问题。

适配多场景的产品类型

产品覆盖国内代理IP、全球HTTP、短效代理、隧道代理静态代理与独享代理,可根据不同业务场景灵活选择,比如短效代理适合需要频繁切换访问环境的业务,静态代理则适合长期稳定的业务需求。

完善的技术支持与测试服务

提供国内代理IP 6小时测试与全球HTTP 2小时体验,技术团队7×24小时在线支持,能帮助企业快速完成接入与适配,降低业务落地的技术门槛。

总结

本文提供的Python脚本可快速批量检测代理IP的可用性,适合个人开发或小批量代理的验证场景;而对于企业级的长期业务需求,专业的代理IP服务商如青果网络能提供更稳定、合规、适配性强的解决方案,有效提升业务的连续性与成功率。

常见问题解答

Q1:脚本支持检测带账号密码的代理IP吗?
A1:支持,只需按照user:password@ip:端口的格式填入PROXY_LIST列表即可,脚本会自动处理验证信息。
Q2:为什么检测时部分代理显示超时?
A2:超时通常是因为代理IP的网络延迟过高,或者代理服务器负载过大,可尝试调整TIMEOUT参数延长等待时间,或更换其他代理IP。
Q3:企业级场景使用专业代理IP服务有什么优势?
A3:专业服务商的IP资源更纯净稳定,能提供合规的访问支持,同时具备完善的技术服务,可避免手动收集代理带来的资源不稳定、合规风险等问题,提升业务的整体效率。

青果网络代理IP - CTA Banner
点赞(40)
企业级代理IP的核心优势与多场景业务支撑能力解析
IP代理 国内代理 隧道代理 静态代理 爬虫代理
2026-03-28

青果网络是深耕11年的企业级代理IP服务商,自研技术保障99.9%IP可用率,拥有600万+国内、2000W+海外纯净IP池,多产品计费模式,7×24小时服务,适配企业多业务场景。

长期海外数据采集业务的海外代理选型指南与落地策略
爬虫代理 海外代理 海外代理IP 静态代理 长效IP
2026-03-28

长期海外爬虫选海外代理,需从IP纯净度、稳定性、覆盖、成本、合规等维度评估,青果网络2000W+纯净全球IP,高稳定合规,适配多场景,降本提效保业务连续。

高性价比海外代理IP选型的场景适配、成本管控与稳定性合规性解析
海外代理IP 静态代理 HTTP代理 动态代理 海外IP
2026-03-28

选高性价比海外代理IP,需匹配业务场景,兼顾稳定合规与成本。长期跨境业务优先青果网络,其2000W+全球IP,99.9%可用率,适配多场景。

企业级代理IP访问受限原因解析及稳定性优化实操方案
代理IP 动态代理 隧道代理 IP池 海外代理IP
2026-03-28

青果代理非100%无访问受限,诱因含目标站防护、违规操作、共享IP牵连;依托业务分池、日更600万+纯净IP等机制降风险,合规使用下受限率居行业优秀水平。

返回
顶部