python-telegram-bot 是对 Telegram Bot API 的一个极其出色的封装;正如其简介中所说的:「We have made you a wrapper you can't refuse」,这的确是一个让你无法拒绝的封装器。本文将详述其中最主要的一个子模块 telegram.ext,并以此为基础,部署一个基于 Webhook 协议的 Telegram Bot。文章最后会对传统的轮询模式和 Webhook 模式进行解释和比较。

关于 Bot 的创建和设置,以及如何获取 Token,可参考「官网文档」,这里并不赘述了。需要注意的是,用户必须先发起会话,Bot 才能获取到会话 ID 来进行消息推送。

pip3 install python-telegram-bot

服务器环境:香港 VPS;CentOS 7.4;Nginx v1.14.0;python-telegram-bot v10.1.0。

阅读全文

ccxt 的代理机制是在发送 HTTP 请求前将端点 API 的地址附加到代理地址之后。在同步模式下,可以直接使用 IP 地址或者基于 HTTP 协议的域名。

exchange = ccxt.okex({
    'verbose': True,
    'proxy': 'http://<proxy>.com/'
})
Request: GET http://<proxy>.com/https://www.okex.com/v2/markets/products.do {
    'User-Agent': 'python-requests/2.18.4', 'Origin': '*', 'Accept-Encoding': 'gzip, deflate'
}

但是 ccxt 目前(v1.13.136)并不支持在异步模式下使用 HTTP 协议的代理,见「#2826」。一种方法是使用 CORS 即服务(CORS-as-a-service)的解决方案,如 https://cors-anywhere.herokuapp.com/https://crossorigin.me/ 等,但它们通常都会有流量限制。关于 CORS(Cross-Origin Resource Sharing,跨源资源共享)的机制,可以参考「Understanding CORS」一文。另一种方法就是在自己的服务器上部署一个支持 HTTPS 的 CORS Anywhere 应用,其作用是在代理的请求中加入 CORS 头部。

服务器环境:香港 VPS;CentOS 7.4;Nginx v1.14.0;node v8.11.1。

阅读全文

沪ICP备17018959号-3