我試圖根據數組的大小多次向服務器發送數據。該循環一次正確發送數據,但此后不再發送數據。我的代碼是: $id = "uuid" //dynamic $username = "[email protected]"; $password = "password"; $serverurl = "http://0.0.0.0:8080/api/v1/experiments/". $id ."/buckets"; $alloc = floor((1 / sizeof($arrayAsBigAsValueArray)) * 100) / 100; $sum = 0; for ($x = 0; $x < sizeof($valuearray); $x++){ $datasobj = array( "label" => $arrayAsBigAsValueArray[$x], "allocationPercent" => $alloc, "payload" => json_encode(array('mykey'=>$valuearray[$x]),JSON_UNESCAPED_SLASHES) ); if($x< sizeof($valuearray)-1){ $sum += $alloc; } else{ if((1 - $sum) != 0){ $datasobj ["allocationPercent"] = (1 - $sum); } } $headers = array( "Content-type: application/json", "Authorization: Basic " . base64_encode("$username:$password") ); $ch = curl_init($serverurl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $datasobj); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result2 = curl_exec($ch); curl_close($ch); }這個函數是從 WordPress 的 admin-ajax 調用的,并且有一個 javascript 函數調用它。當 X > 0 時,我收到 400 錯誤。如何解決此問題?我正在嘗試使用 Wasabi A/B api,可以在此處找到。
1 回答
森林海
TA貢獻2011條經驗 獲得超2個贊
400從哪里來?你的服務器還是芥末?
如果它來自 Wasabi,根據您的curl 請求,我懷疑 API 上有速率限制器。您必須在請求之間延遲。最簡單的是 sleep()。
或者,
"payload"?=>?json_encode(array('mykey'=>$valuearray[$x])...是否有多個授權密鑰,每個請求一個?數組是否正確填充?
- 1 回答
- 0 關注
- 119 瀏覽
添加回答
舉報
0/150
提交
取消
