微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Curl请求中传递参数

如何解决在Curl请求中传递参数

我尝试用终端执行curl请求,但它正在运行,但是当我将该curl请求转换为PHP代码时,一个传递的参数不起作用。

终端卷曲请求:

curl --insecure "https://www.zohoapis.in/phonebridge/v3/clicktodial" -X POST -d "clicktodialuri=$clicktodialurl&clicktodialparam=[{'name':'fromnumber','value':'555'}]&zohouser=123456" -H "Authorization: Zoho-oauthtoken 1000.aedb399e2389cfacef60f965af052cbf" -H "Content-Type: application/x-www-form-urlencoded"

响应:

{"message":"ASTPP Clicktodial functionality has been enabled","status":"success","code":"SUCCESS"}

PHP代码

$zohouser = '6000';

            $access_token = '1000.c3c1107b635f1f5b257d831677e077d2';
            $cURL = "https://www.zohoapis.in/phonebridge/v3/clicktodial?clicktodialuri=$click_to_dial&clicktodialparam=[{'name':'fromnumber','value':'555'}]&zohouser=$zohouser";

            
            $curl = curl_init();

            curl_setopt_array($curl,array(
                CURLOPT_URL => $cURL,CURLOPT_RETURNTRANSFER => true,CURLOPT_ENCODING => "",CURLOPT_MAXREDirs => 10,CURLOPT_TIMEOUT => 30,CURLOPT_SSL_VERIFYPEER => false,CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,CURLOPT_CUSTomrEQUEST => "POST",CURLOPT_HTTPHEADER => array(
                "Authorization: Zoho-oauthtoken " . $access_token,"Content-Type: application/x-www-form-urlencoded","cache-control: no-cache"
                ),));

            $response = json_decode(curl_exec($curl));

            $err = curl_error($curl);
print_r($err);
            curl_close($curl);
print_r($response);exit;

在运行此PHP curl请求期间未得到任何响应或错误。 您能帮我如何在PHP curl请求中将字符串作为参数传递。

解决方法

$strURL= "https://www.zohoapis.in/phonebridge/v3/clicktodial";


$arrHeader= array(
    'Authorization:Zoho-oauthtoken 1000.aedb399e2389cfacef60f965af052cbf'
 );

 $params= array(
     
"clicktodialparam"=>"[{\"name\":\"fromnumber\",\"value\":\"555\"}]","authorizationparam"=>"{\"name\":\"X-Auth-Token\",\"value\":\"1000.aedb399e2389cfacef60f965af052cbf\"}","clicktodialuri" => "$click_to_dial","zohouser" => "123456"



);


$ch= curl_init();

curl_setopt_array($ch,array(
    CURLOPT_URL =>$strURL,CURLOPT_POST => 1,CURLOPT_HTTPHEADER => $arrHeader,CURLOPT_RETURNTRANSFER => true,CURLOPT_CONNECTTIMEOUT => 0,CURLOPT_TIMEOUT => 0,CURLOPT_POSTFIELDS => http_build_query($params)
    

));


$strResponse= curl_exec($ch);

print_r($strResponse);

echo curl_error($ch);
,

参考此post并使用链接的tool,我们得到以下代码。由于我自己无法测试,因此无法保证我的回答。看来您可能缺少curl post选项“ curl_setopt($ ch,CURLOPT_POST,1);”。您可以使用它代替您使用的“ CURLOPT_CUSTOMREQUEST =>“ POST”“选项。

// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,'https://www.zohoapis.in/phonebridge/v3/clicktodial');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,"clicktodialuri=$clicktodialurl&clicktodialparam=[{'name':'fromnumber','value':'555'}]&zohouser=123456");

$headers = array();
$headers[] = 'Authorization: Zoho-oauthtoken 1000.aedb399e2389cfacef60f965af052cbf';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。