api - curl 使用 PHP 问题 - 如何通过更改 url 调用多个 api 请求
问题描述
我必须进行 api 调用,它返回 4 个带有 id 的记录(我能够成功地做到这一点)。现在我必须遍历每个返回的 id,并使用这个 id 进行 api 调用。此 id 附加在 url 的末尾。最好的方法是什么?
例如:
Step1:我打了一个api调用。这将返回 4 个 ID。我能够成功地进行 api 调用。
第 2 步:我将这四个 id 分配给一个数组。我使用 json_decode 并使用 foreach 循环这四个记录,并将 id 存储在一个数组中。
第 3 步:现在我遍历这个数组,每次设置 url 时,我都会在 url 的末尾添加 url + $arr[$increment_val]。所以基本上,我的代码是这样的:
$curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt_array($curl, 数组(
CURLOPT_URL => "https://example.com/v1/getid?id=" 。$arr[i], //这里 i 从 0 变为 4
CURLOPT_RETURNTRANSFER => 真,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => 数组(
"authorization: xxxxxxxxxxxxx"
),
));
$responses = curl_exec($curl);
$err = curl_error($curl);
if ($err ) {
echo "cURL Error #:" . $err;
}
else {
$json = json_decode($responses, true);
print_r(json)
}
第 4 步:我执行这个 api 调用,执行 json_decode。但它返回空数组。
如果我在步骤 3 中对 url 中的一个 id 进行硬编码,我会得到一个结果。
例如:CURLOPT_URL => "https://example.com/v1/getid?id=1234",
我究竟做错了什么?
还是有更好的方法来做到这一点?
非常感谢,
问候,
希瓦姆
解决方案
推荐阅读
- java - 在 Ubuntu 中安装新的 clojure - 构建类路径时出错
- bash - 如何在 docker image bash 的脚本中执行本地二进制文件?
- r - R - 根据先前迭代的结果应用或 for 循环
- sitecore - 语言后备不适用于玻璃 Sitecore 查询
- class - Flutter Class not working
- vba - Run-time error '9' with a simple VBA copy sheet code
- r - R ggplot:如何将点与闪避的条对齐?
- mercurial - 在所有克隆之间共享 .hg/hgrc 设置
- javascript - Inline function in React isn't running
- react-select - How do you get rid of this className react-select warning?