douhutongvm382381 2019-06-08 04:22
浏览 77

CURL to PHP问题将shell命令更改为PHP

I have CURL in a shell that is working but I must change it to CURL in PHP and I don't know how to do it

Here, Comand in shell that is working:

curl -X POST "https://www.website.com/Token" -H "accept: text/plain" -H "Content-Type: application/json" -d "{ \"clientSecret\": \"string\"}"

Example in PHP that I tray:

$url="https://www.website.com/Token";

$ch = curl_init();
$headers = [
            'accept: text/plain',
            'Content-Type: application/json'
        ];

$postData = '{ "clientSecret": "string" }';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);           
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );   
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$server_output = curl_exec ($ch);
$jsonresult = json_decode($result);


var_dump($server_output);


I get result in PHP:
string(0) ""
  • 写回答

1条回答 默认 最新

  • douyihuaimao733955 2019-06-08 04:37
    关注

    If you use an array for the CURLOPT_POSTFIELDS option, it gets converted to URL-encoded format, not JSON. You need to call json_encode() to make it JSON.

    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));           
    
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度