我想在我的本地计算机上调试一个简单的电报机器人。
我在asp.net core 3.0上使用Telegram.Bot和Web钩子。我来自俄罗斯,而Telegram在我的国家/地区遭到封锁,因此如果我想通过Telegram.Bot连接到Telegram API,则需要使用VPN。
我开始使用ngrok,但是遇到了问题。电报发布请求未到达我的本地计算机。但是我在ngrok上执行的get请求正确地发出了。
我使用命令ngrok http 54823 -host-header="localhost:54823"
运行ngrok。 54823-我在vs中的默认调试端口,而不是SSL。
我得到一个网址:https://5bf38bda.ngrok.io
然后我发出请求:get: https://5bf38bda.ngrok.io/api/message/update
,它会激活断点。然后,我从Telegram客户端获得post
,但没有任何反应。
在ngrok Web界面中,我看到下一张图片:get requestpost request
X-Forwarded-For字段对于get(使用ip vpn)和post(使用未知ip)请求是不同的。这可能是问题吗?我可以将Ngrok与VPN一起使用吗?还是只能在没有VPN的情况下使用?需要帮助,非常感谢!
在这里回答:telegram currently supports the following ports: 443, 80, 88 and 8443
我将launchSettings.jso中的端口更改为443,这解决了问题。