【发布时间】:2022-01-22 10:04:42
【问题描述】:
在使用 Curl 发出 GET 请求时在日期参数中使用时间戳时,我收到 “403 Forbidden” 错误。
这是我使用 Curl 发出 GET 请求的代码:
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
$http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
当仅使用参数中的日期时,它按预期工作:
$url = "https://api.unleashedsoftware.com/Customers?modifiedSince=2021-12-20";
但是,包括时间格式会导致 “403 Forbidden” 错误。
$url = "https://api.unleashedsoftware.com/Customers?modifiedSince=2021-12-20T10:00:10";
这个我也试过了,还是不行:
$url = "https://api.unleashedsoftware.com/Customers?modifiedSince=2021-12-20T10%3A00%3A00";
我已经在应用程序沙箱中直接使用相同的 URL 参数进行了测试,以检查它是否接受这些参数,它确实可以正常工作:
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
您是否尝试过对参数值应用正确的 URL 编码?当您向 cURL 传递一个已经完全组装好的 URL 时,cURL 不会自行为您执行此操作。