在Windows7和PHP上如何在带有自证书的电报中使用setWebhook?
我在电报方面是个新手,我正试着用它迈出我的第一步 我在这里找到了一个很好的教程:我用PHP和SSL配置了Apache2.4,所有这些都很好,教程中的示例也很好 问题在于使用setWebhook方法。。。。当我尝试在浏览器中输入在Windows7和PHP上如何在带有自证书的电报中使用setWebhook?,php,ssl,telegram,apache2.4,telegram-bot,Php,Ssl,Telegram,Apache2.4,Telegram Bot,我在电报方面是个新手,我正试着用它迈出我的第一步 我在这里找到了一个很好的教程:我用PHP和SSL配置了Apache2.4,所有这些都很好,教程中的示例也很好 问题在于使用setWebhook方法。。。。当我尝试在浏览器中输入 https://api.telegram.org/<my_bot_code>/setWebHook?url=https://localhost/Telegram/MyYouTubeTutorialBot/YouTubeTutorialBot.php 请注意,
https://api.telegram.org/<my_bot_code>/setWebHook?url=https://localhost/Telegram/MyYouTubeTutorialBot/YouTubeTutorialBot.php
请注意,我使用的是自生成的证书
我在api电报文档(参考)中发现
“…要使用自签名证书,您需要使用setWebhook中的certificate参数上载公钥证书。请作为InputFile上载,发送字符串无效。”
我不明白如何上传我的公钥证书文件。。。。有什么例子吗
问题可能是因为我正在使用localhost和本地Apache的默认IP地址127.0.0.1?我是否应该使用每次连接到web时都会更改的当前IP地址(我正在使用internet密钥将我连接到web…)来更改我的IP地址
提前非常感谢您以下库允许您轻松完成此操作(并快速设置机器人): 它本质上调用电报的
setWebhook
函数/页面,通过POST
请求将自签名证书作为文件传递:
$data = array("url"=>$YOURCALLBACKURL,"certificate"=>"@$CERTIFICATEFILE");
$telegramurl = "https://api.telegram.org/bot$TOKEN/setWebhook";
// now you have to make a request on $telegramurl passing $data via POST (e.g. using curl library)
如果要使用php电报bot库
,可以通过install.php文件或使用以下代码轻松设置它(它在Linux上工作,在Windows系统上也应该工作):
localhost
或您的本地IP(127.0.0.1
)或本地网络IP(192.168.1.2
)无法通过Internet访问您的本地计算机每台机器都有自己的
localhost
,因此电报服务器的localhost与您的您应该使用
网站托管
或VPS
运行脚本并使用其地址我知道一个免费的开发者VPS:使用以下简单的html代码
选择要上载的证书:
网址:
无法使用localhost,因为127.0.0.1只能从内部计算机访问。电报服务器无法访问它。这是一个简单的post表单,因此您可以将证书上载到电报机器人,只需将其替换为您的机器人即可。感谢什么?(文件,动作)
$data = array("url"=>$YOURCALLBACKURL,"certificate"=>"@$CERTIFICATEFILE");
$telegramurl = "https://api.telegram.org/bot$TOKEN/setWebhook";
// now you have to make a request on $telegramurl passing $data via POST (e.g. using curl library)
$bot = new telegram_bot($TOKEN);
$bot->set_webhook($WEBHOOKURL, $SSLCERTIFICATEFILE);