複数のプロキシURLをJSONに保存するには、配列を使います。

[
  "http://192.0.2.10:8080",
  "http://192.0.2.20:3128",
  "http://192.0.2.30:8080"
]

各項目はプロトコルを含む1つのエンドポイントです。公開HTTP候補のプールには、HTTPプロキシ一覧がこれらのURLとして整形できるアドレスを提供します。Pythonのリストをjson.dumpsでシリアライズすれば、この構造が自然に得られます。

1つのオブジェクト内で http というメンバー名を何度も繰り返すのは信頼できません。JSONの相互運用ガイダンスは名前の一意性を求めており、Pythonの通常のデコーダは繰り返された名前について最後の値を保持します。別のデコーダは異なる動作をする可能性があり、繰り返されたキーをプロキシのプールとして解釈することは期待できません。

保存された配列はプール形式であり、1回のRequests呼び出しに渡すproxies引数ではありません。エンドポイントを1つ選び、そのリクエストに必要な宛先スキームのマップを構築します。保存側は、HTTPクライアントが1つのプロキシURLを期待する場所でリストを受け付けるふりをせずに、すべての候補を保持できます。

関連記事