问题描述
这是我的代码:
import telebot
bot = telebot.TeleBot(Token)
@bot.message_handler(commands=["greet"])
def greeting(message):
bot.reply_to(message,"Hi")
bot.polling()
这是我收到的错误:
Traceback (most recent call last):
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\connectionpool.py",line 696,in urlopen
self._prepare_proxy(conn)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\connectionpool.py",line 964,in _prepare_proxy
conn.connect()
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\connection.py",line 359,in connect
conn = self._connect_tls_proxy(hostname,conn)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\connection.py",line 496,in _connect_tls_proxy
return ssl_wrap_socket(
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\util\ssl_.py",line 432,in ssl_wrap_socket
ssl_sock = _ssl_wrap_socket_impl(sock,context,tls_in_tls)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\util\ssl_.py",line 474,in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\ssl.py",line 500,in wrap_socket
return self.sslsocket_class._create(
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\ssl.py",line 1040,in _create
self.do_handshake()
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\ssl.py",line 1309,in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\requests\adapters.py",line 439,in send
resp = conn.urlopen(
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\connectionpool.py",line 755,in urlopen
retries = retries.increment(
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\urllib3\util\retry.py",line 573,in increment
raise MaxRetryError(_pool,url,error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.telegram.org',port=443): Max retries exceeded with url: /bot1494641875:AAEPX72rP7YFT0ZZzASh0cn9rAw6l8PUMk0/getUpdates?offset=1&timeout=20 (Caused by SSLError(SSLError(1,'[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)')))
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "E:/Programming/Python/Training/TelegramBot02/main.py",line 13,in <module>
bot.polling()
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\__init__.py",line 455,in polling
self.__threaded_polling(none_stop,interval,timeout,long_polling_timeout)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\__init__.py",line 513,in __threaded_polling
raise e
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\__init__.py",line 478,in __threaded_polling
polling_thread.raise_exceptions()
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\util.py",line 88,in raise_exceptions
raise self.exception_info
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\util.py",line 69,in run
task(*args,**kwargs)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\__init__.py",line 295,in __retrieve_updates
updates = self.get_updates(offset=(self.last_update_id + 1),timeout=timeout,long_polling_timeout = long_polling_timeout)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\__init__.py",line 265,in get_updates
json_updates = apihelper.get_updates(self.token,offset,limit,allowed_updates,long_polling_timeout)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\apihelper.py",line 248,in get_updates
return _make_request(token,method_url,params=payload)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\telebot\apihelper.py",line 107,in _make_request
result = _get_req_session().request(
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\requests\sessions.py",line 542,in request
resp = self.send(prep,**send_kwargs)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\requests\sessions.py",line 655,in send
r = adapter.send(request,**kwargs)
File "C:\Users\pc\AppData\Local\Programs\Python\python38-32\lib\site-packages\requests\adapters.py",line 514,in send
raise SSLError(e,request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.telegram.org','[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)')))
连接正常。令牌没问题。当我浏览 https://api.telegram.org/botToken/getme 时它可以手动工作,并且工作正常。 其他网站例如 google.com 也可以,并且运行良好。 我很高兴知道问题出在哪里。
其实是因为我收到的错误太多了,stackoverflow 不允许我发这个问题,要我补充一些细节,所以我写了这一段与问题无关,只是一些文字。
解决方法
您是否已将您的电报与代理连接?我无法解决您的问题,但您可以关注此帖子:Problem connecting telegram bot through Python