curl - curl 获取请求响应不正确
问题描述
Curl 获取请求响应在 url 参数内。下面是代码。
$url = "?data=$data&product_key=$this->product_key";
return $this->Connect('GET', 'creditcomplete' . $url);
public function Connect($requestMethod, $entity, $body = null) {
$curl = curl_init(BASE_API_URL . 'v1/' . $entity);
$options = array(
'Apikey: ' . api_key . '',
'Token: ' . token . '',
'Secret: ' . secret . '',
'Content-Type: application/json',
'Accept: application/json'
);
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $options);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $requestMethod);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if ($requestMethod == 'POST' || $requestMethod == 'PUT') {
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
}
$curlResponse = curl_exec($curl);
if($this->isJSON($curlResponse)) {
$curlResponse = json_decode($curlResponse, 1);
}
curl_close($curl);
return $curlResponse;
}
private function isJSON($string) {
return is_string($string) && is_object(json_decode($string)) ? true : false;
}
回应是:
creditcomplete{"Response": {"Reminders": [],"Repayments": [],"Payouts": [],"Transactions": []}}
我不知道为什么 creditcomplete 在响应中添加。任何帮助将不胜感激。PHP 版本 7.1.23。
解决方案
检查 $options 变量。是 api_key、token、秘密常量吗?
推荐阅读
- aws-step-functions - 使用 boto3 获取活动步进函数执行的数量
- google-apps-script - Google Sheet - 打开离线模式
- javascript - Vue:Async Apollo mixin 函数打印一个值,但返回未定义
- reactjs - 如何使用 react 和 typescript 指定类型?
- angular - 启用以正确导入 csv
- python - 如何将相关热图限制在感兴趣的单元格上并添加星号来标记异常值?
- javascript - 本地存储中的值被替换而不是更新
- typo3 - 在 CommandController 中解析 TYPO3 链接
- google-cloud-platform - 使用 Google Cloud Storage Transfer Service 时保留对文件的公开访问权限
- php - 查看存储在laravel公共/存储中的pdf?