我已经搜索了几天,但无济于事。我有一个 python 机器人(轮询更新)在家里或任何公共互联网上运行良好。但是,当在防火墙后面工作时,机器人无法连接到服务器。我相信应用程序必须知道代理服务器、用户 ID 和密码才能继续。但我找不到方法或如何在机器人应用程序中包含此信息。以下是错误消息:
2017-03-13 07:13:44,233 - telegram.ext.updater - ERROR - Error
while getting Updates: urllib3 HTTPError HTTPSConnectionPool
(host='api.telegram.org', port=443):Max retries exceeded with
url: /botXXXXXXXXX:Token/getUpdates (Caused byNewConnectionError
('<urllib3.connection.VerifiedHTTPSConnection object at 0x031541F0>:
Failed to establish a new connection: [Errno 10061] No connection
could be made because the target machine actively refused it',))
/getUpdates(由 NewConnectionError 引起('
其他事情:Telegram Messenger 应用程序在同一防火墙后面运行良好,代理服务器上没有任何信息。所以它可以毫无问题地连接到服务器。我提到这一点是因为另一个原因可能是我的公司使用 websense 或类似的东西来阻止电报服务器,但情况并非如此,因为信使应用程序确实可以正常工作。
提前一百万感谢任何提示。
2017 年 7 月 26 日更新:该解决方案由 Sudheesh 建议。需要设置环境变量 https_proxy。在这个答案的时候,似乎我输入了错误的代理服务器或以错误的方式。环顾互联网,我注意到设置它的方法是(在 Windows 中)是:
设置 https_proxy= http://proxy_url
注意右边的等号显示http(不是https)
再次感谢 Sudheesh!