php - 如何使用 Php 包装器为 Mailjet 指定代理?
问题描述
在我的新服务器上,我必须使用代理对其他服务进行不同的 API 调用。
我正在使用 Mailjet,并使用官方 PHP Wrapper 进行调用(没有作曲家:https ://github.com/mailjet/mailjet-apiv3-php-no-composer )。
我尝试像这样配置代理:
$mj = new \Mailjet\Client(
APIKEY,
APIKEY2,
true,
[
'version' => 'v3.1',
'connect_timeout' => 4,
'proxy' => [
'http' => someurl,
'https' => someurl
]
]
);
如您所见,我也在尝试编辑“CONNECT_TIMEOUT”变量。(我也尝试将变量设置为大写,结果相同)
不幸的是,通过我所有的测试,我可以观察到只有version
和url
变量被考虑并按要求设置。任何其他变量,随机的或应该被处理的,都没有设置并保持其默认值。
我想我没有按我应该的方式进行配置,也许这些选项应该在电话的其他地方,但即使是 Mailjet 支持也无法通知我......
与此同时,我/Mailjet/src/Mailjet/Client.php
从
private $requestOptions = [
self::TIMEOUT => 15,
self::CONNECT_TIMEOUT => 2,
];
至
private $requestOptions = [
self::TIMEOUT => 15,
self::CONNECT_TIMEOUT => 4,
self::PROXY => someurl
];
它可以工作,但我宁愿不必编辑此文件并按我应该的方式传递变量。
解决方案
该类有一个名为setConnectionTimeout的公共方法,您可以在您的客户端实例中使用它(例如$mj->setConnectionTimeout(4)
)
推荐阅读
- docusignapi - 为 MDM 异常寻找 DocuSign iOS URL 协议
- javascript - RegEx 用于测试数字中的加号或减号
- vb.net - 权限问题???使用 System.IO.File.Exists
- c# - 无法将多个生成的 Html.DropDownListFor 绑定到 ViewModel
- xquery - 如何通过 xquery 在 Marklogic 中设置集群?
- reactjs - 真实项目的纯 mobx(无 MST)存储模型
- docker - Docker - 运行容器时清理文件内容
- javascript - 如何在javascript中将时间转换为用户本地时区
- amazon-web-services - 如何在 CloudFormation 中指定 AMI?
- javascript - 我应该使用什么来代替 document.getElementById 才能使它起作用