Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 7
1
Telegram Bot

Проблемы с использованием прокси

08.12.2019, 14:41. Показов 3884. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Мой бот запрашивает прокси с сайта http://pubproxy.com/. В файле proxy_changer.py используется файл proxy.txt, в котором записан IP адрес и порт, действующего прокси-сервера. Когда я запускаю proxy_changer отдельно от бота, никаких ошибок нет. Но при запуске бота, программа не видит файл.



proxy.txt:

207.148.30.112:8118


proxy_changer.py:

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
import requests
import json
 
def get_proxy():
    url = 'http://pubproxy.com/api/proxy?type=https'
    response = requests.get(url)
    try:
        json_proxy = json.loads(response.text)
    except json.decoder.JSONDecodeError:
        last_proxy = {'ip_port': read_proxy()}
        return last_proxy
    proxy_data = dict.fromkeys(['ip_port', 'ip', 'port', 'country', 'last_check'])
    proxy_data['ip_port'] = json_proxy['data'][0]['ipPort']
    proxy_data['ip'] = json_proxy['data'][0]['ip']
    proxy_data['port'] = json_proxy['data'][0]['port']
    proxy_data['country'] = json_proxy['data'][0]['country']
    proxy_data['last_check'] = json_proxy['data'][0]['last_checked']
    return proxy_data
def write_proxy(proxy):
    file = open("proxy.txt", "w")
    file.write('{}'.format(proxy['ip_port']))
def read_proxy():
    file = open("proxy.txt", "r")
    ip_port = file.read()
    file.close()
    return ip_port
Telegramm-bot.py:

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
import telebot 
import pyowm
from telebot import apihelper
import proxy_changer
from time import sleep
 
ip_port = proxy_changer.read_proxy()
owm = pyowm.OWM('c311649e6337ca253bad57e1c7b369d6',language = "ru")
apihelper.proxy = {'https': 'https://{}'.format(ip_port)}
bot = telebot.TeleBot("1025434974:AAG2dpWbMexxuhpkq_b0YRCazRHO4ax3m-8",threaded=False)
@bot.message_handler(commands=['proxy'])
def proxy_message(message):
    bot.send_message(message.chat.id, '''
    Сейчас я на ip {}'''.format(ip_port))
@bot.message_handler(content_types=['text'])
def send_echo(message):
    observation = owm.weather_at_place(message.text)
    w = observation.get_weather()
    wi = w.get_wind()["speed"]                 
    h = w.get_humidity()              
    t = w.get_temperature('celsius')["temp"]
    answer = "В городе",message.text,"сейчас",w.get_detailed_status() + ".\n"
    answer += "Скорость ветра:",round(wi),"м/с\n"
    answer += "Влажность:",h,"%\n"
    answer += "Температура:",round(t),"°C\n\n"
    if t >= 20:
        answer += "На улице жарко. Наденьте летний головной убор и солнцезащитные очки."
    elif t <= -15:
        answer += "На улице сильный мороз. Наденьте шарф, тёплую шапку и варежки."
    elif (w.get_detailed_status() == 'дождь' or w.get_detailed_status() == 'небольшой дождь'):
        answer += "На улице дождь. Возьмите зонт"
    bot.send_message(message.chat.id, answer)
try:
    bot.polling()
except OSError:
    bot.stop_polling()  
    sleep(5) 
    proxy = proxy_changer.get_proxy()  
    ip_port = proxy['ip_port']  
    apihelper.proxy = {'https': 'https://{}'.format(proxy['ip_port'])}
    proxy_changer.write_proxy(proxy)
    bot.polling()
Ошибка:

Traceback (most recent call last):
File "D:\Programming\Python\Programmes\Telegramm-bot.py", line 7, in <module>
ip_port = proxy_changer.read_proxy()
File "D:\Programming\Python\Programmes\proxy_changer.py", line 23, in read_proxy
file = open("proxy.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'proxy.txt'
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2019, 14:41
Ответы с готовыми решениями:

Запрос с использованием прокси
Не получается выполнять запросы через прокси. Функция get_ip всегда выводи мой адрес. В текстовом...

Проблемы с прокси
Здравствуйте! Помогите пожалуйста. Дома перестал работать wifi на ноутбуке, но всё нормально...

Проблемы с разработкой прокси-сервера
Доброго времени суток, уважаемые форумчане. Решил написать свой прокси-сервер. Проблемы такие - ...

Проблемы с сетью после прокси
Ситуация такая: провайдер ВолгаТелеком, юзаю ADSL-модем. было желание зайти на один сайт анонимно...

Имитация захода на сайт с использованием прокси
Здравствуйте, формучане. Подскажите, пожалуйста. Стоит задача: Нужно написать такой код, который...

4
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
08.12.2019, 15:11 2
Цитата Сообщение от КИА Посмотреть сообщение
Но при запуске бота, программа не видит файл
А причем тут проблему с прокси? Ты просто не понимаешь, что такое рабочая директория и как она изменяется в зависимости от запуска программы\скрипта.
Сначала выучи элементарные вещи. Потом - пиши ботов.
1
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 7
08.12.2019, 17:03  [ТС] 3
Благодарю за совет, но проблема остаётся открытой. Ты знаешь, что здесь не так и как это решить?
0
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
08.12.2019, 17:39 4
Лучший ответ Сообщение было отмечено КИА как решение

Решение

Цитата Сообщение от КИА Посмотреть сообщение
Ты знаешь, что здесь не так и как это решить?
Знаю.
Указать полный динамически вычисляемый путь до файла proxy.txt
1
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 7
08.12.2019, 21:08  [ТС] 5
Проблема решена. Спасибо.
0
08.12.2019, 21:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2019, 21:08
Помогаю со студенческими работами здесь

Элемент управления WebBrowser1 c использованием прокси
Здраствуйте, как подключить прокси из текстбоксов для элемента управления WebBrowser1 Заранее...

Подключение к Wi-Fi сети с использованием прокси-сервера
Доброго времени суток :) !!! Имеется такая проблема. Есть корпоративная сеть с ограниченным...

Интернет шлюз с использованием стороннего прокси
Здравствуйте, стоит задача поднять интернет шлюз (ОС не важна) в котором весь трафик завернуть...

Обратный прокси-сервер с использованием boost::asio
Добрый день. Задача - написать обратный прокси-сервер. Использую boost::asio. При написании...

Массовая рассылка телеграм с использованием ПРАВИЛЬНЫХ прокси
Доброго времени суток, кодеры. Коротко и ясно: Создаю свою ферму ботов (не официальные боты, а...

как из пк за NAT сделать прокси с использованием VDS?
в общем то суть вопроса в шапке. условно говоря есть пк на Windows и vds на windows (можно...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru