duanpin5168 2017-02-16 08:58
浏览 75
已采纳

在cur中将curl转换为guzzle代码

I have a curl code like this which I am trying to convert into guzzle like so

$response = $client->post(self::$url, [
        'query' => array(
            'app_id' => "app-id",
            'included_segments' => array('All'),
            'contents' => $content,
            'headings' => $headings) ],
              ['headers' => [
                      'Content-Type' => 'application/json',
                      'Authorization' => 'Basic api key'
              ]
        ]);

But when I try to run this I get this error

...` resulted in a `400 Bad Request` response:
{\"errors\":[\"Please include a case-sensitive header of Authorization: Basic <YOUR-REST-API-KEY-HERE> with a valid REST AP (truncated...)

CURL

curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8','Authorization: Basic api key'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
  • 写回答

1条回答 默认 最新

  • dsh77114 2017-02-16 10:06
    关注

    Which version of Guzzle is this? Because the latest is different.

    $client = new GuzzleHttp\Client();
    $req = $client->request('POST', self::$url, [
        'json' => ['app_id' => '...', 'foo' => 'bar'],
        'headers' => ['Authorization' => 'Basic api key']
    ]);
    $res = $client->getBody()->getContents();
    

    I'm pretty sure that 'json' adds automatically the specific header, otherwise transform 'json' in 'form_params' and add the header (content-type).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记