php将var传递给curl请求
我对卷曲有点问题。它不需要$variables。。请帮忙。curl请求的其余部分是正确的,我已设法将其隔离 这是我试过的php将var传递给curl请求,php,curl,Php,Curl,我对卷曲有点问题。它不需要$variables。。请帮忙。curl请求的其余部分是正确的,我已设法将其隔离 这是我试过的 CURLOPT_POSTFIELDS => "{\"msisdn\":$msisdn, \"transactionId\": $_id, \"transactionAmount\": $amount}", $payload = json_encode(array("msisdn"=> $s_msisdn,"transactionId"=>$_id, "tr
CURLOPT_POSTFIELDS => "{\"msisdn\":$msisdn, \"transactionId\": $_id, \"transactionAmount\": $amount}",
$payload = json_encode(array("msisdn"=> $s_msisdn,"transactionId"=>$_id, "transactionAmount"=>$_amount));
...
CURLOPT_POSTFIELDS => $payload,
编辑:完整请求
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://123.123.23.11:5001/demo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"msisdn\":"'.$_msisdn.'", \"transactionId\": "'.$_id.'", \"transactionAmount\": "'.$_amount.'"}",
CURLOPT_HTTPHEADER => array(
"authorization: Basic abcdefgh",
"content-type: application/json",
),
));
这是你可以使用的。您的JSON字符串没有正确的引号。我个人觉得使用数组比json_编码更容易,这样就不用担心转义变量了
$data = array (
"msisdn" => $_msisdn,
"transactionId" => $_id,
"transactionAmount" => $_amount,
);
$jsonData = json_encode($data);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://123.123.23.11:5001/demo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $jsonData,
CURLOPT_HTTPHEADER => array(
"authorization: Basic abcdefgh",
"content-type: application/json",
),
));
这更接近于JSON修复后的代码
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://123.123.23.11:5001/demo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"msisdn\": \"{$_msisdn}\", \"transactionId\": \"{$_id}\", \"transactionAmount\": \"{$_amount}\"}",
CURLOPT_HTTPHEADER => array(
"authorization: Basic abcdefgh",
"content-type: application/json",
)
));
谢谢..非常有用应该
$jsonData=$json\u encode($data)
bejsonData=json\u encode($data)代码>?是的,它应该是,我实际上没有运行代码,所以我没有注意到错误。json_encode是一个函数,而不是一个变量。