PHP如何在PHP中运行此cURL
问题描述:
curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: text/plain' --header 'apikey: Your API key goes here' -d 'context= "your url encoded contextobj goes here"&message=Hello%20there' 'https://api.gupshup.io/sm/api/bot/demobot/msg'
我试过使用其他答案,但无法获得输出。PHP如何在PHP中运行此cURL
在这里,我就是我所做的:
$msg=urlencode("Hello world");
$headers = ['Content-Type:application/x-www-form-urlencoded','Accept:text/plain','apikey:xxxxxxxxxxxxxxxxxxxxxxxxxxx',];
$context=http_build_query(json_decode('{"botname":"demobot2","channeltype":telegram","contextid":"xxxxxx","contexttype":"p2p"}'));
$ch = curl_init("https://api.gupshup.io/sm/api/bot/botname/msg");
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_POST, 1);
$data = 'context='.$context.'&message=.$msg.';
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result =curl_exec($ch);
echo $result;
答
这里是由工具邮差,我把你的卷曲的评论,然后做了一个请求,并点击generate code
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.gupshup.io/sm/api/bot/demobot/msg",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "context=your%20url%20encoded%20contextobj%20goes%20here&message=Hello%20There",
CURLOPT_HTTPHEADER => array(
"accept: text/plain",
"apikey: Your api key goes here",
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
"postman-token: 7d8384ea-359d-f845-bb72-6063a1aba50c"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
嘿感谢生成的代码!但我没有得到所需的输出:/。我的意思是没有得到消息 –
我没有gupshup帐户,所以我不能进一步测试它,但你是否得到任何“错误”吐出来?我会推荐使用PostMan工具或任何其他工具(SoapUi等)进行测试,然后以编程方式编写调用。 – ioneyed
另外,请注意我的编辑 - 如果你做了复制/粘贴,我忘了关闭'?>'标签。 – ioneyed