我尝试在Zend请求中设置自定义标头。我收到以下错误:
Argument 1 passed to Zend\\Http\\AbstractMessage::setHeaders() must be an instance of Zend\\Http\\Headers, array given
以下是我的代码示例:
<?php
$request = new Request();
$request->setContent($parameters);
$request->setMethod(Request::METHOD_POST);
$request->setHeaders(array("Authorization: MyAuth $authId"));
$request->setUri($url);
我也尝试过以字符串格式提供标题。但我仍面临同样的错误。任何人都可以在设置标题时找出问题所在吗?
答案 0 :(得分:1)
错误说明一切,setHeaders
期待\Zend\HTTP\Headers
类型的对象。
首先尝试创建对象:
$headers = new \Zend\Http\Headers();
$headers->addHeaderLine('[YOUR HEADER LINE]');
$request->setHeaders($headers);
答案 1 :(得分:0)
$request->setHeaders()
想要Zend\Http\Headers()
的实例作为参数。所以你可以创建一个实例
$headers = new Zend\Http\Headers();
$headers->addHeaders("Authorization","MyAuth ".$authId);
或
$headers = Zend\Http\Headers::fromString($headerString);
检查this