Массив JSON сохраняет каждую запись прокси
Храните несколько URL прокси в массиве, а не повторяйте имена членов http и https.
Чтобы сохранить несколько URL прокси в JSON, используйте массив:
[
"http://192.0.2.10:8080",
"http://192.0.2.20:3128",
"http://192.0.2.30:8080"
]
Каждый элемент — это одна конечная точка вместе с её протоколом. Для пула публичных HTTP-кандидатов список HTTP-прокси предоставляет адреса, которые нужно оформить как эти URL. Сериализация списка Python через json.dumps естественно создаёт такую структуру.
Повторять имя члена http несколько раз в одном объекте ненадёжно. Руководство JSON по совместимости требует уникальных имён, а обычный декодер Python сохраняет последнее значение для повторяющегося имени. Другой декодер может вести себя иначе; ни от одного не стоит ожидать, что он истолкует повторяющиеся ключи как пул прокси.
Сохранённый массив — это формат пула, а не аргумент proxies для одного вызова Requests. Выберите конечную точку, затем постройте карту схемы назначения, нужную этому запросу. Хранилище может сохранить каждого кандидата, не делая вид, что HTTP-клиент принимает список там, где ожидает один URL прокси.