dongmu5106 2018-07-08 11:08
浏览 414
已采纳

如何通过guzzle运行cURL

First time using cURL and guzzle. This is probably a simple question but would appreciate a "helloworld" example.

This is the cURL I currently have:

curl --include --request POST \
--header "application/x-www-form-urlencoded" \
--header "X-Access-Token: ACCESS_TOKEN" \
--data-binary "grant_type=client_credentials&client_id=PUBLIC_KEY&client_secret=PRIVATE_KEY" \
'https://api.url.com/token'

And this is the guzzle code:

$client = new Client(); //GuzzleHttp\Client
$result = $client->post('https://api.url.com/token', [
    'form_params' => [
        'sample-form-data' => 'value'
    ]
]);

I'm not sure how to run the cURL command using guzzle. How would the resulting guzzle code look like?

  • 写回答

3条回答 默认 最新

  • douying9296 2018-07-09 10:34
    关注

    So here's the answer for converting cURL to Guzzle. Maybe it will help future people that need a "helloworld" like I did. This is how I ran the cURL in PHP via Guzzle:

    $client = new Client();
    $uri = 'https://api.url.com/token';
    $headers = [
        'Content-Type' => 'application/x-www-form-urlencoded',
        'X-Access-Token' => $ACCESS_TOKEN
    ];
    $body = 'grant_type=client_credentials&client_id='.$PUBLIC_KEY.'&client_secret='.$PRIVATE_KEY;
    $result = $client->request('POST', $uri, [
        'headers' => $headers,
        'body' => $body
    ]);
    
    json_decode($result->getBody()->getContents(), true);
    

    Two things that weren't intuitive was you have to designate 'application/x-www-form-urlencoded' as Content-Type. And 'data-binary' as 'body'.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题