PHP 检索数据时出现 API 的 CURL 问题
PHP CURL issue with an API when retrieving datas
我们有 API 经销商。
我们的软件在 PHP 7.3.6 / Apache 2.4.38 下 运行
我们已经成功地完成了一些其他操作:创建新的采购订单、检索订单、...
我们在检索发票时遇到问题。
我们正在使用名为 POSTMAN 的软件进行 API 测试。
我们输入所有信息(api 键,....)
使用 POSTMAN,它工作得很好。 POSTMAN 中有一个选项可以获取不同语言的代码。为了我们的需要,我们采用了 PHP 生成的代码。问题是它不工作。
我们还使用了 https://reqbin.com/curl 并且效果很好。但同样的问题,PHP 中生成的代码不起作用。
例如,在 postman 或 reqbin 中,此 CURL 代码有效
curl -X GET https://url.com/Invoices?startDate="01-01-2019"&endDate="01-31-2023" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer generatedtokenzzzzzzzzzzzzzzzzzzzzzzzzzzz' \
-H 'Content-Type: application/json' \
-H 'zzzzzzzzz-API-Key: generatedapikeyzzzzzzzzzzzzzz'
当我们点击生成 PHP 代码时,我们有这个代码:
<?php
$url = "https://url.com/Invoices?startDate="01-01-2019"&endDate="01-31-2023";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"Accept: application/json",
"Authorization: Bearer generatedtokenzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"Content-Type: application/json",
"zzzzzzzzz-API-Key: generatedapikeyzzzzzzzzzzzzzz",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
?>
因为它不起作用,我们尝试添加一些选项,例如
CURLOPT_CUSTOMREQUEST => 'GET',
还是不行。
我们快疯了,我们在这个问题上已经一个多星期了....
任何帮助都会非常有用。
非常感谢....
我们找到了错误。
它不在此代码的一部分,但在上面。
参数传递不正确,错误消息{message": "list index out of range} 实际上是错误的。
我们有 API 经销商。 我们的软件在 PHP 7.3.6 / Apache 2.4.38 下 运行 我们已经成功地完成了一些其他操作:创建新的采购订单、检索订单、... 我们在检索发票时遇到问题。 我们正在使用名为 POSTMAN 的软件进行 API 测试。 我们输入所有信息(api 键,....) 使用 POSTMAN,它工作得很好。 POSTMAN 中有一个选项可以获取不同语言的代码。为了我们的需要,我们采用了 PHP 生成的代码。问题是它不工作。 我们还使用了 https://reqbin.com/curl 并且效果很好。但同样的问题,PHP 中生成的代码不起作用。
例如,在 postman 或 reqbin 中,此 CURL 代码有效
curl -X GET https://url.com/Invoices?startDate="01-01-2019"&endDate="01-31-2023" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer generatedtokenzzzzzzzzzzzzzzzzzzzzzzzzzzz' \
-H 'Content-Type: application/json' \
-H 'zzzzzzzzz-API-Key: generatedapikeyzzzzzzzzzzzzzz'
当我们点击生成 PHP 代码时,我们有这个代码:
<?php
$url = "https://url.com/Invoices?startDate="01-01-2019"&endDate="01-31-2023";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"Accept: application/json",
"Authorization: Bearer generatedtokenzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"Content-Type: application/json",
"zzzzzzzzz-API-Key: generatedapikeyzzzzzzzzzzzzzz",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
?>
因为它不起作用,我们尝试添加一些选项,例如
CURLOPT_CUSTOMREQUEST => 'GET',
还是不行。
我们快疯了,我们在这个问题上已经一个多星期了....
任何帮助都会非常有用。
非常感谢....
我们找到了错误。 它不在此代码的一部分,但在上面。 参数传递不正确,错误消息{message": "list index out of range} 实际上是错误的。