2016-09-24 103 views
0

我在卷曲时遇到了一些问题。它不会采取$变量..请协助。卷曲请求的其余部分是正确的,我已经成功地孤立它php通过var来卷曲请求

这里是我试过

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", 
), 
)); 

回答

1

这里是你能做的事使用。你的JSON字符串没有得到正确的引用。我个人发现使用数组然后json_encode更容易,它不必担心转义变量。

$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", 
) 
)); 
+0

我添加了整个代码 – Bmbariah

+0

Thanks..Works great – Bmbariah