Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Curl请求中传递参数_Php_Curl_Zoho - Fatal编程技术网

Php 在Curl请求中传递参数

Php 在Curl请求中传递参数,php,curl,zoho,Php,Curl,Zoho,我用终端尝试了curl请求,它正在工作,但当我将curl请求转换为php代码时,一个传递参数的请求不工作 终端卷曲请求: curl --insecure "https://www.zohoapis.in/phonebridge/v3/clicktodial" -X POST -d "clicktodialuri=$clicktodialurl&clicktodialparam=[{'name':'fromnumber','value':'555'}]&

我用终端尝试了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请求中以参数形式传递字符串吗。

参考这一点并使用链接,我们最终得到以下代码。因为我不能亲自测试,所以我不能保证我的答案。看起来您可能缺少curl post选项“curl_setopt($ch,CURLOPT_post,1);”,您可以使用它来代替使用的选项“CURLOPT_CUSTOMREQUEST=>“post”

//由curl到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);
卷曲设置($ch,卷曲设置桩,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,“clicktodialuri=$clicktodialurl&clicktodialparam=[{'name':'fromnumber','value':'555'}]&Zohouse=123456”);
$headers=array();
$headers[]=“授权:Zoho oauthtoken 1000.aedb399e2389cfacef60f965af052cbf”;
$headers[]='内容类型:application/x-www-form-urlencoded';
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
$result=curl\u exec($ch);
if(旋度误差($ch)){
echo“Error:”.curl_Error($ch);
}
卷曲关闭($ch);

如果这些是您的真实身份验证凭据,您需要立即更改它们。这是无效的凭据,zoho凭据将在60秒后过期。
$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);