如何使用 Php 包装器为 Mailjet 指定代理?
How can I specify a proxy for Mailjet with the Php wrapper?
在我的新服务器上,我必须使用代理来对其他服务进行不同的 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
];
它有效,但我更喜欢不必编辑此文件并按我应该的方式传递变量。
class 有一个名为 setConnectionTimeout 的 public 方法,您可以在您的客户端实例中使用它(例如 $mj->setConnectionTimeout(4)
)
在我的新服务器上,我必须使用代理来对其他服务进行不同的 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
];
它有效,但我更喜欢不必编辑此文件并按我应该的方式传递变量。
class 有一个名为 setConnectionTimeout 的 public 方法,您可以在您的客户端实例中使用它(例如 $mj->setConnectionTimeout(4)
)