日度归档:2021年11月24日

通用代理池项目,功能型函数,检测通用代理是否可用 2021-11-24

// 依赖的2个模块

# pip3 install requests   # 网络请求的
# pip3 install pysocks    # 支持socks的
import requests 

def checkProxyStatus(TargetURL, aUA, aProxy, aTimeout):
    """
        runCheckProxyStatus(TargetURL, aUA, aProxy, aTimeout)
        依赖模块 requests  pysocks
        参数 TargetURL 用于检测的一个网站地址
        参数 aUA 一个随机的User-Agent
        参数 aProxy 需要检测的那个代理 格式为 vtype://ip:port
        参数 aTimeout 超时的时间
        返回值,依据状态码是否为200,判定为是,返回 字符 Y
        返回值,依据状态码是否为200,判定为否,返回 字符 N

    """
    try:
        myHeader = {"User-Agent": aUA}
        myProxy = {'http': aProxy, 'https': aProxy}
        aRSP = requests.get(url = TargetURL, headers = myHeader, proxies = myProxy, timeout = aTimeout)
        if aRSP.status_code == 200:
            return 'Y'
        else:
            return 'N'
    except Exception as e:
        return 'N'
# 实际测了如下的一段代码,通过。

import requests

def checkProxyStatus(TargetURL, aUA, aProxy, aTimeout):
    """
        runCheckProxyStatus(TargetURL, aUA, aProxy, aTimeout)
        依赖模块 requests  pysocks
        参数 TargetURL 用于检测的一个网站地址
        参数 aUA 一个随机的User-Agent
        参数 aProxy 需要检测的那个代理 格式为 vtype://ip:port
        参数 aTimeout 超时的时间
        返回值,依据状态码是否为200,判定为是,返回 字符 Y
        返回值,依据状态码是否为200,判定为否,返回 字符 N

    """
    try:
        myHeader = {"User-Agent": aUA}
        myProxy = {'http': aProxy, 'https': aProxy}
        aRSP = requests.get(url = TargetURL, headers = myHeader, proxies = myProxy, timeout = aTimeout)
        if aRSP.status_code == 200:
            return 'Y'
        else:
            return 'N'
    except Exception as e:
        return 'N'
        
        
v = checkProxyStatus(TargetURL = 'https://www.duckduckgo.com', aUA = 'Python', aProxy = 'socks5://127.0.0.1:10808', aTimeout = 3)
print(v)

# 在本地10808的v2代理开着时候,上面的代码,正常返回 字符 Y
Donate
云乞讨