Как использовать все прокси из списка прокси при отправке запросов в цикле? - PullRequest
0 голосов
/ 02 ноября 2019

Я просто пытаюсь использовать все мои прокси для отправки запроса, но используется только один прокси.

this is my code:
import requests
import random
import string
import random
from proxy_requests import ProxyRequests
proxies = {'https': 'https://104.148.46.2:3121',
'https': 'https://134.19.254.2:21231',
'https': 'https://45.76.222.196:8118',
'https': 'https://103.87.207.188:59064',
'https': 'https://182.74.40.146:30909',
'https': 'https://5.196.132.115:3128',
'https': 'https://200.142.120.90:56579',
'https': 'https://24.172.82.94:53281',
'https': 'https://213.141.93.60:32125',
'https': 'https://167.71.6.78:3128',
'https': 'https://202.166.205.78:58431',
'https': 'https://37.82.13.84:8080',
'https': 'https://132.255.23.157:3128'}

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 
OPR/63.0.3368.71'}

while True:

    with requests.Session() as s:
         register_data = {"POST":"CENSORED"}
        url = 'CENSORED'
        r = s.post(url, json=register_data, proxies = proxies)
        print(r.content)
        print (proxies)

вывод:

b'"CENSORED"'
{'https': 'https://132.255.23.157:3128'}
b'"CENSORED"'
{'https': 'https://132.255.23.157:3128'}
b'"CENSORED"'
{'https': 'https://132.255.23.157:3128'}

И мне нужен вывод какэто:

b'"CENSORED"'
{'https': 'https://202.166.205.78:58431'}
b'"CENSORED"'
{'https': 'https://103.87.207.188:59064'}
b'"CENSORED"'
{'https': 'https://132.255.23.157:3128'}

Я пытался использовать модуль запроса прокси (proxy_requests), но мне нужно использовать пользовательские прокси.

1 Ответ

0 голосов
/ 03 ноября 2019

Вы создаете словарь прокси, что неправильно. 'https' - это ключ, и будет только один ключ с именем https. Вы, наконец, присваиваете значение 'https://132.255.23.157:3128' для 'https', поэтому каждый раз, когда вы печатаете proxies, вы получите {'https': 'https://132.255.23.157:3128'}

, вам нужно создать список словарей для proxies, чтобы получить желаемый результат.

import requests
import random
proxies = [{'https': 'https://104.148.46.2:3121'}, {'https': 'https://134.19.254.2:21231'}, {'https': 'https://45.76.222.196:8118'}, {'https': 'https://103.87.207.188:59064'}, {'https': 'https://182.74.40.146:30909'}, {'https': 'https://5.196.132.115:3128'}, {'https': 'https://200.142.120.90:56579'}, {'https': 'https://24.172.82.94:53281'}, {'https': 'https://213.141.93.60:32125'}, {'https': 'https://167.71.6.78:3128'}, {'https': 'https://202.166.205.78:58431'}, {'https': 'https://37.82.13.84:8080'}, {'https': 'https://132.255.23.157:3128'}]

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36OPR/63.0.3368.71'}

while True:
    with requests.Session() as s:
        register_data = {"POST":"CENSORED"}
        url = 'CENSORED'
        r = s.post(url, json=register_data, proxies = random.choice(proxies))
        print(r.content)
        print (proxies)
...