🗣 Wd提问: SOCKS v5代理测速脚本
🤖 Ai回答: 下面是一个用于测试 SOCKS5 代理速度 的 Python 脚本。该脚本使用 `requests` 和 `socks` 库,通过 SOCKS5 代理访问一个公共网站(如 `http://httpbin.org/get`),测量请求的响应时间,从而评估代理的速度。
✅ 功能说明:
支持 SOCKS5 代理
测试连接延迟和下载速度(可选)
可批量测试多个代理
输出响应时间、状态码等信息
📦 所需依赖:
bash
pip install requests socks
注:`socks` 是 `PySocks` 库,用于支持 SOCKS 代理。
🧪 SOCKS5 代理测速脚本
python
import requests
import socks
import socket
import time
from typing import Tuple, Optional
配置
PROXY_HOST = 127.0.0.1 代理服务器地址
PROXY_PORT = 1080 代理端口
PROXY_USER = None 用户名(可选)
PROXY_PASS = None 密码(可选)
测试目标 URL(建议用 HTTP/HTTPS 的公开服务)
TEST_URL = https://httpbin.org/get
def setup_proxy_session(
host: str,
port: int,
username: Optional[str] = None,
password: Optional[str] = None
) requests.Session:
创建一个使用 SOCKS5 代理的 Session
session = requests.Session()
session.proxies = {
'http': f'socks5://{username}:{password}@{host}:{port}' if username else f'socks5://{host}:{port}',
'https': f'socks5://{username}:{password}@{host}:{port}' if username else f'socks5://{host}:{port}'
}
return session
def test_proxy_speed(host: str, port: int, username: str = None, password: str = None) dict:
测试单个 SOCKS5 代理的速度
返回字典包含响应时间、状态码等信息
try:
设置代理会话
session = setup_proxy_session(host, port, username, password)
开始计时
start_time = time.time()
发送请求
response = session.get(TEST_URL, timeout=10)
end_time = time.time()
计算耗时
elapsed_time = end_time start_time
result = {
host: host,
port: port,
status_code: response.status_code,
response_time_ms: round(elapsed_time * 1000, 2),
success: True,
content_length: len(response.content)
}
print(f[✓] {host}:{port} | 响应时间: {result['response_time_ms']}ms | 状态: {result['status_code']})
return result
except Exception as e:
print(f[✗] {host}:{port} | 错误: {e})
return {
host: host,
port: port,
success: False,
error: str(e)
}
def main():
示例:测试一个代理
result = test_proxy_speed(PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)
如果你想批量测试多个代理,可以这样写:
proxies = [
(127.0.0.1, 1080),
(192.168.1.100, 1080),
(proxy.example.com, 1080)
]
for host, port in proxies:
test_proxy_speed(host, port)
if __name__ == __main__:
main()
🔍 使用示例
单个代理测试:
python
test_proxy_speed(127.0.0.1, 1080)
多个代理测试(扩展):
python
proxies = [
(127.0.0.1, 1080),
(192.168.1.10, 1080),
]
for host, port in proxies:
result = test_proxy_speed(host, port)
if result[success]:
print(f✅ {host}:{port} {result['response_time_ms']}ms)
💡 提示与优化
1、更换测试 URL:
可以使用 `https://speedtest.net/api` 或其他大文件 URL 来测试下载速度。
2、增加重试机制:
python
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
3、并发测试多个代理:
使用 `concurrent.futures.ThreadPoolExecutor` 实现多线程测试。
4、日志输出到文件:
将结果保存为 CSV 或 JSON 格式。
✅ 示例输出:
[✓] 127.0.0.1:1080 | 响应时间: 123.45ms | 状态: 200
[✗] 192.168.1.100:1080 | 错误: Connection refused
如果你需要更高级的功能(如带宽测试、HTTP/HTTPS 兼容性检查、自动排序代理等),我也可以为你扩展脚本。欢迎继续提问!
0
网址:wap.zfttpkd.cn
IP地址: 36.123.254.136
搜索次数: 2
提问时间: 2025-09-17 14:02:12
❓ 热门问答:
推特账号哪里买
ebay什么时候跨国认证
youtube的视频怎么保存到手机相册
推特英文名是什么
纸飞机的折叠方法飞得最远
doge软件官网网址是什么
youtube电脑版的的安装和使用
btc中国官网下载
facebook为什么在中国不能用
中国可以看youtube么
苹果能用的加速器
外贸软件外贸易
2025免费节点v2ray2025.2.22
怎么看推特
国内看youtube用什么加速器
btc行情预测
快连是哪个国家的外企
油管下载18
苹果手机twitter怎么注册应用
100TRX折合人民币
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由JJ加速器提供技术支持,使用的最新版:《JJ加速器Ai问答系统 V.25.09.02》搭建本站。