如何在使用Twilio github库时指定代理?
作为一种解决方法,我可以手动向twilio发出请求。或者,我可以修改我的本地版本的 ./ lib / RequestClient.js :
var options = {
timeout: opts.timeout || 30000,
proxy: 'http://myproxy.com:8080', // <- My proxy override
followRedirect: opts.allowRedirects || false,
url: opts.uri,
method: opts.method,
headers: opts.headers,
forever: opts.forever === false ? false : true,
};
查看twilio代码 - 该请求不是在寻找代理选项。如果Twilio在初始化期间修改了他们的RequestClient以接受代理选项,那就太好了。
谢谢!
答案 0 :(得分:0)
Hey Twilio开发者传播者在这里。
是的,帮助程序库目前不直接支持代理。你可以做一些选择来解决这个问题。
选项1:
帮助程序库正在使用引擎盖下的request
模块。除了proxy
选项之外,还有另一种使用环境变量指定代理的方法。如果twilio
是您的代码库中唯一使用request
的内容,则可能是一个选项。您可以在request
文档中详细了解相关内容:https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables
选项2:
帮助程序库允许您指定自己的RequestClient
。它必须实现与帮助程序库的lib/base/RequestClient.js
中的RequestClient
相同的接口。最简单的方法是复制该文件,修改options
变量以获得proxy
选项,然后将其传递给Twilio
构造函数:
const twilio = require('twilio');
const MyRequestClient = require('./path/to/your/MyRequestClient');
const client = twilio(
'account_sid',
'auth_token',
{ httpClient: new MyRequestClient() })
// do your requests
我希望这会有所帮助。我还确保创建GitHub issue以确保将其作为选项长期添加。