【发布时间】:2016-11-02 19:15:09
【问题描述】:
我收到了以下 curl 请求:
curl -H "Content-Type:application/json" -H "Api-Key:someapikey" -X -d {"address":"30598 West Street","city":"Oakdale"}' PUT "https://somedomain/api/members/1234567"
我正在尝试使用GuzzleHttp 复制它,如下所示:
$headers = [
'Api-Key' => $this->apiKey,
'Content-Type' => 'application/json',
];
$client = new Client([
'headers' => $headers,
]);
$res = $client->put("{$this->baseUrl}/members/{$fields['vip_id']}", [
'form_params' => $fields,
]);
我不断收到 415 Unsupported Media Type 响应。从我得到的卷曲中,我想我已经覆盖了所有的基础。但是,当我调试时,它显示我的内容类型设置为application/x-www-form-urlencoded。根据文档,仅当尚未设置 Content-Type 标头并且包含 form_params 时,才将标头设置为此。由于我已经设置了这个标题,它不应该切换正确吗?请帮忙!
【问题讨论】:
-
你在 $fields 里有什么?
-
这样的数组
[ 'field1' => 'value1' ]