99 lines
2.2 KiB
Python
99 lines
2.2 KiB
Python
|
|
"""
|
|||
|
|
大麦固定代理IP配置
|
|||
|
|
用于在无头浏览器中使用固定代理IP
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
# 大麦固定代理IP池
|
|||
|
|
DAMAI_PROXY_POOL = [
|
|||
|
|
{
|
|||
|
|
"name": "大麦代理1",
|
|||
|
|
"server": "http://36.137.177.131:50001",
|
|||
|
|
"username": "qqwvy0",
|
|||
|
|
"password": "mun3r7xz",
|
|||
|
|
"enabled": True
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "大麦代理2",
|
|||
|
|
"server": "http://111.132.40.72:50002",
|
|||
|
|
"username": "ih3z07",
|
|||
|
|
"password": "078bt7o5",
|
|||
|
|
"enabled": True
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_proxy_config(index: int = 0) -> dict:
|
|||
|
|
"""
|
|||
|
|
获取指定索引的代理配置
|
|||
|
|
|
|||
|
|
Args:
|
|||
|
|
index: 代理索引(0或1)
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
代理配置字典,包含server、username、password
|
|||
|
|
"""
|
|||
|
|
if index < 0 or index >= len(DAMAI_PROXY_POOL):
|
|||
|
|
raise ValueError(f"代理索引无效: {index},有效范围: 0-{len(DAMAI_PROXY_POOL)-1}")
|
|||
|
|
|
|||
|
|
proxy = DAMAI_PROXY_POOL[index]
|
|||
|
|
if not proxy.get("enabled", True):
|
|||
|
|
raise ValueError(f"代理已禁用: {proxy['name']}")
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
"server": proxy["server"],
|
|||
|
|
"username": proxy["username"],
|
|||
|
|
"password": proxy["password"]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_all_enabled_proxies() -> list:
|
|||
|
|
"""
|
|||
|
|
获取所有已启用的代理配置
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
代理配置列表
|
|||
|
|
"""
|
|||
|
|
return [
|
|||
|
|
{
|
|||
|
|
"server": p["server"],
|
|||
|
|
"username": p["username"],
|
|||
|
|
"password": p["password"],
|
|||
|
|
"name": p["name"]
|
|||
|
|
}
|
|||
|
|
for p in DAMAI_PROXY_POOL
|
|||
|
|
if p.get("enabled", True)
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_random_proxy() -> dict:
|
|||
|
|
"""
|
|||
|
|
随机获取一个可用的代理配置
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
代理配置字典
|
|||
|
|
"""
|
|||
|
|
import random
|
|||
|
|
enabled_proxies = [p for p in DAMAI_PROXY_POOL if p.get("enabled", True)]
|
|||
|
|
|
|||
|
|
if not enabled_proxies:
|
|||
|
|
raise ValueError("没有可用的代理")
|
|||
|
|
|
|||
|
|
proxy = random.choice(enabled_proxies)
|
|||
|
|
return {
|
|||
|
|
"server": proxy["server"],
|
|||
|
|
"username": proxy["username"],
|
|||
|
|
"password": proxy["password"],
|
|||
|
|
"name": proxy["name"]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
# 快捷访问
|
|||
|
|
def get_proxy_1():
|
|||
|
|
"""获取代理1配置"""
|
|||
|
|
return get_proxy_config(0)
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_proxy_2():
|
|||
|
|
"""获取代理2配置"""
|
|||
|
|
return get_proxy_config(1)
|