我使用pyTelegrambotAPI,cherrypy作为网络服务器,更新方法webhook,自签名ceritficate和今晚工作六个月后没有任何问题2我的机器人停止响应。
当我使用命令时:
https://api.telegram.org/botMYTOKEN/getwebhookinfo 结果是
{ “OK”:真, “结果”:{ “URL”: “https://MY.IP.ADRESS/MYTOKEN/”, “has_custom_certificate”:假 “pending_update_count”:16853 “last_error_date”:1518617645, “last_error_message”:” SSL错误{337047686,错误:1416F086:SSL例程:tls_process_server_certificate:证书验证失败}“,”max_connections“:40}}
所以用SSL说错误,然后我试着制作一个新的自签名证书并使用命令
答案是curl -F“url = https://MY.IP.ADRESS” - F“certificate = @ C:\ Users \ 007 \ Desktop \ bin \ webhook_cert5.pem”https://api.telegram.org/botMYTOKEN/setWebhook
{“ok”:true,“result”:true,“description”:“Webhook已设置”}
但10秒后证书验证失败。电报是否会阻止自签名证书?或者我做错了什么?
答案 0 :(得分:0)
好吧,我找到了答案。
我上面的评论是正确的,如果你卷曲请求返回 Webhook已设置,当你启动僵尸程序时,你会看到错误证书验证失败你只需要在您的网络服务器上获取证书的路径之前的@ 符号,例如bot.set_webhook(url=config.WEBHOOK_URL_BASE + config.WEBHOOK_URL_PATH, certificate=open("@" + config.WEBHOOK_SSL_CERT, 'r'))
(它的樱桃网)。