You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API响应加密字符串无法传递至解密端点问题排查

问题分析与修复

问题描述

调用API服务得到加密字符串响应:

Kcc6rcdO41XJ9ZNavb6AeJXwM0pxEfRLUipPpIM3ayRrLT2tWp4xD/0B28/W09siYJ2dVOZGOA1jUSMZLxXdFZimJHrzxZKuiSvV+ECPY4CyyTi3Sp1CvKuNLERFu4iQ8knlq00Fj2nL8qVyu19WOg==

尝试将该字符串作为负载传递给解密接口时,接口始终返回null,传递失败。

错误原因

代码存在两处关键错误:

  • $response2是纯文本Base64加密字符串,并非JSON格式,调用json_decode($response2)会直接返回null
  • 再次对null执行json_decode($json),结果仍为null,最终传递给解密接口的value字段值为null,导致接口返回异常

修复方案

直接使用$response2的原始响应内容,无需任何json_decode处理:

// 获取加密字符串响应的原始内容
$encryptedString = $response2->body();

// 构造解密接口的请求负载
$fields3 = [
    "value" => $encryptedString
];

// 发送请求到解密接口
$response3 = Http::withHeaders($headers)->post($url3, $fields3);

补充说明

如果$response2返回的是JSON结构(例如{"data": "加密字符串"}),才需要用json_decode解析,但根据你提供的$response2值,它是纯Base64字符串,直接取响应体即可。

内容的提问来源于stack exchange,提问作者Fiyinfoluwa Osuntola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:01:28