簡體   English   中英

PHP cURL 不發送發布數據

[英]PHP cURL doesn’t send post data

我有這個代碼:

$obj = $_POST["myData"];
     
$curl = curl_init();
$url = "whatever";
curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => $obj,
    CURLOPT_HTTPHEADER => array(
      "Content-Type: application/json"
    ),
));
      
$response = curl_exec($curl);

問題是 curl 不發送請求,除非我更改CURLOPT_POSTFIELDS => $obj ,整個字符串是:

{\"desSucursal\":\"423423\",
 \"indPlacas\":\"S\",
 \"horarios\":[],
 \"idConvenio\":{\"idConvenio\":\"1262\"},
 \"usrRegistro\":\"1645144\",
 \"usuarioJefe\":{\"idUsuario\":\"1645534\"}
}

但是 var $obj 具有相同的數據,因為 $_POST["myData"] 是一個變量 post,它是從 JS 發送的。

有誰知道,如果我把整個字符串都工作,但是如果我把包含相同字符串的變量放不工作的原因是什么?

看起來您的$_POST["myData"]變量中有額外的斜杠。 您需要刪除這些:

$obj = stripslashes($_POST["myData"]);

請注意,您需要驗證和清理您從$_POST獲得的任何值。 您不應該信任任何傳入的數據,因為這是為漏洞敞開的大門。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM