Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
2 / 2 / 0
Регистрация: 10.01.2022
Сообщений: 14

requests timeout с применением proxy

17.01.2022, 18:26. Показов 2478. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеем код по поиску прокси на просторах интернета. Через for лепим ip добавляем порт и через requests стучимся на яндекс. Если ответ получен, то пишем в файл, если нет ответа, то едим дальше.
Код идеально работает в диапазонах где нет ПК. Все достаточно шустро.
Если поиск наткнулся на пк с прокси (не забитым прокси), то тоже все хорошо... ну боле менее с допустимой скоростью все парсится.
Проблемы начинаются когда код натыкается на перегруженный прокси. Ответ приходится ждать целую вечность...

И на последок самый главный прикол...
Передав timeout в requests проблему не снимает от слова совсем. Как я понимаю timeout начинает работать уже после прокси, а проблема на самом прокси...
...Скорее всего просто я нагавнокодил, а может нет.
...Вообщем помогите кто чем может

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import requests
p1 = 0
p2 = 0
p3 = 0
p4 = 0
p = 0
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 YaBrowser/21.11.4.730 Yowser/2.5 Safari/537.36'}
ip = ''
port = ''
string = ''
proxies = {'http': 'http://50.114.128.25:3128'}
broot_port = [80]
her = 0 #
while True:
    # Перебор 255-0. х.х.х
    for n1 in range(182, -1, -1):#223, 222,221,220,219,218
        p1  = n1
        # Перебор х 255-0.х.х
        for n2 in range(255, -1, -1):
            p2 = n2
            # Перебор х. х.255-0.х
            for n3 in range(255, -1, -1):
                p3 = n3
                print((f'{p1}.{p2}.{p3}.xxxx'))
                # Перебор х.х.х.255-0
                for n4 in range(255, -1, -1):
                    p4 = n4
                    ip = (f'{p1}.{p2}.{p3}.{p4}')
                    # Перебор портов
                    for ports in broot_port:
                        port = ports
                        string = (f'{ip}:{port}')
                        proxies['http'] = string
                        
                        try:
                            resul = requests.get('http://yandex.ru',headers=headers, proxies=proxies,timeout=3)
                            if resul.status_code == 200:
                                print(string + ' ОБНАРУЖЕН Proxy\n')
                                with open ('proxy1_200.txt','a') as file:
                                    file.write(string + '\n')
                            else:
                                print(resul.status_code)
                                with open ('proxy1.txt','a') as file:
                                    file.write(string +'\n')
                        except:
                            her +=1            
                        
                           
                            
                        
                        
 
print('Complite')
print (her + ' Запросов')
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2022, 18:26
Ответы с готовыми решениями:

Requests get. Use random proxy in text file
Причудилось сделать программу с использованием прокси прокси берётся с txt файла, более 3 тысячи прокси http и https Программа...

Быстрый запрос через proxy (requests module)
Как добиться вменяемой скорости прогрузки от запроса? К примеру при использовании AJAX в Google Chrome, пинг в среднем 400-500 МС...

Proxy timeout synapse
Доброго дня! Столкнулся с проблемой при работе с компонентом синапс а точнее с его расширенной версией (THTTPSendEx). Работаю с прокси...

2
2 / 2 / 0
Регистрация: 10.01.2022
Сообщений: 14
18.01.2022, 17:48  [ТС]
Вопрос снят.
Если кому интересно, проблема решается созданием 2 потоков. 1 поток сворачивает второй по истечение времени

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import requests
import threading
p1 = 0 # p1.xxx.xxx.xxx
p2 = 0 # xxx.p2.xxx.xxx
p3 = 0 # xxx.xxx.p3.xxx
p4 = 0 # xxx.xxx.xxx.p4
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 YaBrowser/21.11.4.730 Yowser/2.5 Safari/537.36'}
ip = '' # Собираем ip адрес сюда
port = '' # Собираем port адрес сюда
string = ''# Собираем proxy сюда
proxies = {'http': 'http://50.114.128.25:3128'}
broot_port = [80] # Порты для брута
def pars_proxy():
    print(f'{proxies}\n')
    try:        
        resul = requests.get('http://yandex.ru',headers=headers, proxies=proxies) # Делаем запрос на яндекс используя User-Agent и proxy
        if resul.status_code == 200: # Если яндекс ответил 200, делаем принт и запись
            print(string + ' ОБНАРУЖЕН Proxy\n')
            with open ('proxy1_200.txt','a') as file:
                file.write(string + '\n')
        else:
            print(f'{resul.status_code} Ответил {ip}')
            with open ('bead_proxy.txt','a') as file:
                file.write(string +'\n')
    except:
        print('Неудачное подключение\n')       
    
while True:
    # Перебор 255-0. х.х.х
    for n1 in range(223, -1, -1):# С 223 начинается плотный поток ПК
        p1  = n1
        # Перебор х 255-0.х.х
        for n2 in range(255, -1, -1):
            p2 = n2
            # Перебор х. х.255-0.х
            for n3 in range(255, -1, -1):
                p3 = n3
                # Перебор х.х.х.255-0
                for n4 in range(255, -1, -1):
                    p4 = n4
                    ip = (f'{p1}.{p2}.{p3}.{p4}')
                    # Перебор портов
                    for ports in broot_port: # Перебираем порты в цыкле
                        port = ports
                        string = (f'{ip}:{port}')
                        proxies['http'] = string
                        #Запускаем 2 потока
                        thread = threading.Thread(target=pars_proxy)
                        thread.daemon = True #Поток демонический (второй поток закроется при закрытии первого
                        thread.start()
                        thread.join(1) # Остановить все через 1 секунду
                        
 
print('Complite')
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.01.2022, 19:18
Лучший ответ Сообщение было отмечено gadagur как решение

Решение

Цитата Сообщение от gadagur Посмотреть сообщение
Скорее всего просто я нагавнокодил,
хуже.

Python
1
2
3
4
5
>>> import ipaddress
>>> ips = [str(ip) for ip in ipaddress.IPv4Network('182.0.0.0/16')]
    
>>> ips[256:512]
['182.0.1.0', '182.0.1.1', '182.0.1.2', '182.0.1.3', '182.0.1.4', '182.0.1.5', '182.0.1.6', '182.0.1.7', '182.0.1.8', '182.0.1.9', '182.0.1.10', '182.0.1.11', '182.0.1.12', '182.0.1.13', '182.0.1.14', '182.0.1.15', '182.0.1.16'....
Цитата Сообщение от gadagur Посмотреть сообщение
проблема решается созданием 2 потоков.
Проблема решается установкой сокет таймаута. Но без использования request, которая может его перезаписать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2022, 19:18
Помогаю со студенческими работами здесь

Proxy timeout synapse
Имеется список прокси серверов в перемешку типов http/socks4/socks5. Программа берёт каждый прокси сервер и проверяет его сначало на...

Добавил модуль requests в Visual Studio, но import requests подсвечен зеленым
Добавил модуль requests в Visual Studio, но import requests подсвечен зеленым. Как исправить?

Использование по import requests. ImportError: No module named requests
Приветствую, начну с того, что я самый новый новичек и код который написан ниже это 1й скрипт после helloworld. Итак. Я нашел на...

криво работает Timeout.timeout
привет всем. понадобилось мне тут написать по-быстрому сканер socks5-серваков. по идее должно быть так: скрипт берёт из файла адрес:порт...

Requests requests.exceptions.ProxyError
Ошибка: requests.exceptions.ProxyError: HTTPSConnectionPool(host='uchim.org', port=443): Max retries exceeded with url:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru