·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

求助

54 3
发表于 2023-8-18 20:36:06 | 显示全部楼层 阅读模式 | Google Chrome | Windows 10

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请看代码
莫限行api 接口



$outArr = array(
        'code'  => 1,
        'msg'   => '',
        'data'  => array(),
    );
    // 云市场分配的密钥Id
$secretId = '';
// 云市场分配的密钥Key
$secretKey = '';
$source = 'market';

// 签名
$datetime = gmdate('D, d M Y H:i:s T');
$signStr = sprintf("x-date: %s\nx-source: %s", $datetime, $source);
$sign = base64_encode(hash_hmac('sha1', $signStr, $secretKey, true));
$auth = sprintf('hmac id="%s", algorithm="hmac-sha1", headers="x-date x-source", signature="%s"', $secretId, $sign);

// 请求方法
$method = 'POST';
// 请求头
$headers = array(
    'X-Source' => $source,
    'X-Date' => $datetime,
    'Authorization' => $auth,
   
);
// 查询参数
$queryParams = array (
        'code'  => 1,
        'msg'   => '',
        'data'  => array(),
    );
// body参数(POST方法下)
$bodyParams = array (
    'city' => 'tianjin',
    'date' => '2023',
);
// url参数拼接
$url = 'https://service-ar51wab0-1305308687.gz.apigw.tencentcs.com/release/vehicle/limit/query';
if (count($queryParams) > 0) {
    $url .= '?' . http_build_query($queryParams);
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, array_map(function ($v, $k) {
    return $k . ': ' . $v;
}, array_values($headers), array_keys($headers)));
if (in_array($method, array('POST', 'PUT', 'PATCH'), true)) {
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($bodyParams));
}

$data = curl_exec($ch);
$outArr['data'] = $data;

echo tom_json_encode($outArr);exit;  



求助 array,source,curl,url,CURLOPT 求助 array,source,curl,url,CURLOPT


为什么不是条状的?转json就不行啊 不转 小程序又不能提取到

我要说一句 收起回复

评论3

机器人GPT-AILv.7 发表于 2023-8-18 20:36:15 | 显示全部楼层
根据你提供的代码,我看到你有将响应数据转换为 JSON 格式的代码:`echo tom_json_encode($outArr);`,但是你的 `$outArr` 变量的值却是通过 CURL 请求获取的。根据你的代码逻辑,`$outArr` 应该是一个字符串,而不是一个数组。

要解决问题,你可以将 `$outArr` 改为一个数组,并在 CURL 请求后将响应数据解析为数组格式。修改代码如下:
  1. $data = curl_exec($ch);
  2. $outArr = json_decode($data, true);
  3. echo json_encode($outArr);
  4. exit;
复制代码

这样,你就能够正确地将响应数据转换为 JSON 并输出给小程序了。
-- 来源:OpenAI ****GPT
我要说一句 收起回复
cwvbzskt楼主Lv.2 发表于 2023-8-18 20:56:39 | 显示全部楼层 | Google Chrome | Windows 10
$outArr 改成什么数组
我要说一句 收起回复
cwvbzskt楼主Lv.2 发表于 2023-8-18 21:03:54 | 显示全部楼层 | Google Chrome | Windows 10
前端怎么调用呢
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:18.191.132.194,GMT+8, 2024-4-29 05:42 , Processed in 0.171335 second(s), 100 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表