ZF Curl - 如何在适配器中不允许时设置自定义标头

时间:2017-04-24 22:54:46

标签: curl zend-framework zend-framework2 zend-framework3

我有一个带有Zend \ Http \ Client \ Adapter \ Curl的Zend \ Http \ Client,并希望为适配器设置自定义标头。但是在curl适配器中有一个名为invalidOverwritableCurlOptions的数组,其中包含CURLOPT_HTTPHEADER。所以我不可能设置那个标题。

还有另一种设置方法吗?

$adapter = new Curl();
$client = new Client();

$adapter->setCurlOption(CURLOPT_HTTPHEADER, [
    'AuthenticationToken:123456'
]);

$client->setAdapter($adapter);

如果我注释掉该行,卷曲选项得到验证,一切正常......

// set additional curl options
if (isset($this->config['curloptions'])) {
    foreach ((array) $this->config['curloptions'] as $k => $v) {
        //if (! in_array($k, $this->invalidOverwritableCurlOptions)) {
            if (curl_setopt($this->curl, $k, $v) == false) {
                throw new AdapterException\RuntimeException(sprintf(
                    'Unknown or erroreous cURL option "%s" set',
                    $k
                ));
            }
        //}
    }
}

1 个答案:

答案 0 :(得分:2)

好的,我明白了。您可以直接将标头设置为客户端。

$client->setHeaders([
    'AuthenticationToken:123456'
]);