Telegram Webhook 和 Ngrok 无法正常工作
Posted
技术标签:
【中文标题】Telegram Webhook 和 Ngrok 无法正常工作【英文标题】:Telegram Webhook And Ngrok Not Working Correctly 【发布时间】:2020-03-08 06:36:57 【问题描述】:我有一个用 botman 制作的电报机器人,当我将它上传到网站上时它还可以并且运行良好,但是为了开发它并不是一个好主意,因为许多请求发送到服务器 ant 它的块马上。
为了开发,我想使用 ngrok,我将它安装在 Windows 上并在端口 8000
上为 botman 提供服务,然后使用
ngrok http 8000
它的作品:
你可以看到来自电报的连接正确接收
但问题是电报机器人没有响应。
我也试过了
ngrok http 8000 -host-header=localhost:8000
我该怎么办?
谢谢;
【问题讨论】:
检查您的 php.ini 文件中是否有“curl.cainfo”选项。在此部分中,您必须提供证书文件的地址 哦,它的作品,非常感谢 不客气。 【参考方案1】:为什么电报机器人没有响应??
敏感信息的传输通常在数字证书的掩护下完成。该证书将有助于向收件人确认发件人实际上是他们声称的身份。数字证书由证书颁发机构颁发。
当数字证书应用于服务器时,将在服务器上安装受信任的证书颁发机构及其根证书的列表。通过常规 HTTPS 进行的交易将恢复到此列表进行通信。但是,CURL 不遵守规则。您需要告诉 curl ca 根证书。
如何解决??
要解决该错误,您需要定义您的 CURL 证书颁发机构信息路径
为此,
-
在此处下载最新的 curl 认可证书:
https://curl.haxx.se/ca/cacert.pem
在 wampServer 中:
2.1 将文件放入C:\wamp64\bin\php\php*.*.*
文件夹
用你的 wamp php 版本替换 *。
2.2 确保文件 mod_ssl.so 位于 C:\wamp64\bin\apache\apache(version)\modules 在 Apache 目录 C:\wamp64\bin\apache\apache2 内的 httpd.conf 中启用 mod_ssl。 4.27\配置
2.3 打开php.ini,找到这一行:
curl.cainfo
改成:
curl.cainfo = "C:\wamp64\bin\php\php*.*.*\cacert.pem"
在 XAMPP 服务器中
2.1 将文件放在:
C:\xampp\php\extras\ssl\
2.2 在你的 php.ini 中把这一行放在这个部分(“c:\xampp\php\php.ini”):
;;;;;;;;;;;;;;;;;;;;
; php.ini Options ;
;;;;;;;;;;;;;;;;;;;;
curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
-
保存并关闭您的 php.ini。重新启动您的网络服务器并再次尝试您的请求。
【讨论】:
以上是关于Telegram Webhook 和 Ngrok 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
无效的 webhook url 在 Telegram bot 中指定错误