random.choice(). Если провайдер умеет ротацию прямо на шлюзе, скрипту хватит одного адреса — выходные IP подменяет сам сервис в том режиме, который ты выбрал. Ровно этот сценарий и разложен в статье.Проверка в лоб:
import os
import requests
# PROXY_URL: адрес шлюза с учётными данными
proxy = os.environ["PROXY_URL"]
proxies = {"http": proxy, "https": proxy}
for _ in range(5):
r = requests.get(
"https://httpbin.org/ip",
proxies=proxies,
timeout=(5, 15),
)
r.raise_for_status()
print(r.json()["origin"])
Нюанс: ключ "https" — это про протокол сайта, к которому ты стучишься, а сам адрес прокси вполне может начинаться с http://. Для HTTP-прокси так и надо. Дальше не путай два режима: ротация дёргает выходной IP по настройкам провайдера, а sticky session прибивает IP к тебе на какое-то время. И ещё:
requests.Session() тащит за собой cookies и переиспользует соединения, но IP сам по себе не меняет — политику ротации уточняй у провайдера.👉 About Python
