授权服务器 IP
列表只对你在个人中心添加的 IP 开放。API 密钥留在你的代码里,代理只负责转发连接。
一条 AI 流水线取决于两件事:能连上服务,以及不把所有调用堆在一个地址上。
从 API 有响应的地区访问
全球混合、欧洲、独联体、中国代理池;从 CSV 导出中选国家
大量地址支撑高调用量
每个套餐 5,000 到 50,000 个 IP,每天约三分之一更换
并发请求和采集所需的线程
按套餐 500 到 5,000 线程,所有协议在同一端口
提示词、图片和页面都不计量
所有不限流量套餐都不计流量
地区、套餐、时长。价格按一个授权 IP 计算,每多授权一个 IP 加 10%。
列表只对你在个人中心添加的 IP 开放。API 密钥留在你的代码里,代理只负责转发连接。
从 CSV 导出中选国家,让服务看到本地的、被允许的地址。全球混合的代理池最大。
载入列表,每次调用取下一个地址,某个地址慢就换一个重试。下面的脚本只用标准库就做到了。
设置 API_URL、你的 API_KEY 和 MODEL,在 prompts.txt 中每行放一个提示词。每次调用都经过下一个代理,慢了就换一个重试;回复写入 CSV。仅限在你有权使用的密钥和服务上使用。用代理检测检查代理池。
#!/usr/bin/env python3
"""Rotating-proxy client for OpenAI-compatible chat APIs (Advanced.name proxies).
Sends each prompt from a file to a chat API through a different proxy, with
retries, and writes the answers to a CSV. Use it only with an API key and a
service you are authorised for. Standard library only. Run: python3 ai_calls.py
"""
# ================================ CONFIG ====================================
CSV_URL = "https://get.advanced.name/YOUR_LIST_ID.csv" # CSV export link from your dashboard
COUNTRY = "" # ISO code where the service is available, or "" for the whole pool
MIN_SPEED = 3
API_URL = "https://api.openai.com/v1/chat/completions" # OpenAI-compatible endpoint you may use
API_KEY = "YOUR_API_KEY" # your own key; it stays in this file, never in the proxy
MODEL = "gpt-4o-mini" # model name the endpoint expects
PROMPTS_FILE = "prompts.txt" # one user prompt per line
OUT_FILE = "answers.csv" # prompt;answer;proxy is written here
THREADS = 20
TIMEOUT = 30
RETRIES = 3
# ============================================================================
import csv
import io
import itertools
import json
import sys
import threading
import urllib.request
from concurrent.futures import ThreadPoolExecutor, as_completed
COL_IP, COL_PORT, COL_COUNTRY, COL_SPEED = 0, 1, 2, 3
def load_proxies():
raw = urllib.request.urlopen(CSV_URL, timeout=30).read().decode("utf-8", "replace")
pool = []
for row in csv.reader(io.StringIO(raw), delimiter=";"):
if len(row) <= COL_SPEED or not row[COL_PORT].strip().isdigit():
continue
if COUNTRY and row[COL_COUNTRY].strip().upper() != COUNTRY.upper():
continue
if int(row[COL_SPEED] or 0) < MIN_SPEED:
continue
pool.append(row[COL_IP].strip() + ":" + row[COL_PORT].strip())
return pool
def ask(prompt, proxy):
body = json.dumps({"model": MODEL, "messages": [{"role": "user", "content": prompt}]}).encode()
handler = urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy})
req = urllib.request.Request(API_URL, data=body, method="POST", headers={
"Authorization": "Bearer " + API_KEY, "Content-Type": "application/json"})
data = json.loads(urllib.request.build_opener(handler).open(req, timeout=TIMEOUT).read())
return data["choices"][0]["message"]["content"].strip()
def main():
proxies = load_proxies()
if not proxies:
sys.exit("No proxies for COUNTRY=%r." % COUNTRY)
with open(PROMPTS_FILE, encoding="utf-8") as fh:
prompts = [line.strip() for line in fh if line.strip() and not line.startswith("#")]
print("proxies: %d (%s), prompts: %d, threads: %d" % (len(proxies), COUNTRY or "any", len(prompts), THREADS))
rotation = itertools.cycle(proxies)
lock = threading.Lock()
def run(prompt):
for _ in range(RETRIES):
with lock:
proxy = next(rotation)
try:
return prompt, ask(prompt, proxy), proxy
except Exception:
continue
return prompt, "error: unreachable", ""
rows = []
with ThreadPoolExecutor(max_workers=THREADS) as pool:
for fut in as_completed([pool.submit(run, p) for p in prompts]):
prompt, answer, proxy = fut.result()
rows.append((prompt, answer, proxy))
print("%-40s %s" % (prompt[:40], (answer[:50] + "...") if len(answer) > 50 else answer))
with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
writer = csv.writer(out, delimiter=";")
writer.writerow(["prompt", "answer", "proxy"])
writer.writerows(rows)
print("written %s (%d rows)" % (OUT_FILE, len(rows)))
if __name__ == "__main__":
main()
大多数 SDK 和 HTTP 客户端都支持按请求设置代理。在 Python 中用 requests 设置 proxies={'http': 'http://ip:port', 'https': 'http://ip:port'};OpenAI 和 Anthropic 的 SDK 会读取标准的 HTTPS_PROXY 变量,所以导出它或传入带代理的 http 客户端就够了。HTTP 和 SOCKS 共用一个端口,http:// 两者都能用。
把 API 密钥放在代码或环境变量里,在个人中心授权服务器 IP,让列表按调用轮换。慢的请求换下一个地址重试,别卡在上面。
服务只在部分国家可用时,从 CSV 导出中选出这些国家,确保每次调用都从允许的地址发出。如果要采集 AI 生成的页面而不是调用 API,就像对待爬虫一样使用代理池。
先用Socks List Processor 过滤代理池;只是轻量测试接线,用免费代理列表就够了。

大量API调用用不限流量套餐更便宜。需要登录账号的服务网页应用,请放在住宅地址上。
大量API调用最佳选择
流量不计量,所以长回复和生成的图片都不会增加费用。调用分散到上千个地址上,而不是集中在一个IP。
$700 每月或每小时$2.70
网页应用中的账号
出口设备在线期间,ChatGPT或Midjourney的网页应用看到的是同一个家庭IP。您可以把会话时长设为3分钟到24小时,并在字符串中选择国家或城市。
低至 $1.39 每GB1GB仅需$2.29
有验证码的网站
当某个服务对套餐地址弹出验证码时,Core每次请求都给一个来自正确国家的家庭IP。一次API调用只有几KB,所以1GB能用很久。
低至 $0.49 每GB1GB仅需$0.85