我试图根据数组的大小多次向服务器发送数据。该循环一次正确发送数据,但此后不再发送数据。我的代码是: $id = "uuid" //dynamic $username = "emailadd@example.com"; $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 关注
- 78 浏览
添加回答
举报
0/150
提交
取消