【问题标题】:How do I declare a base64 of a json inside an api request?如何在 api 请求中声明 json 的 base64?
【发布时间】:2023-03-15 23:17:02
【问题描述】:

我正在尝试在 api 请求中使用 json 数组的 ba​​se64 编码。 这是json数组:

{"action":"START_STREAMING","metricsList": [{"category":"HARDWARE","subcategory":"MACHINE","component":"DASHBOARD","metric":"STATUS"},":[{"category":"HARDWARE","subcategory":"MACHINE","component":"DASHBOARD","metric":"TIME"},{"category":"HARDWARE","subcategory":"MACHINE","component":"DASHBOARD","metric":"INFO"}],"duration":60}

这是我目前的解决方案:

  $command = base64_encode({"action":"START_STREAMING","metricsList": [{"category":"HARDWARE","subcategory":"MACHINE","component":"DASHBOARD","metric":"STATUS"},":[{"category":"HARDWARE","subcategory":"MACHINE","component":"DASHBOARD","metric":"TIME"},{"category":"HARDWARE","subcategory":"MACHINE","component":"DASHBOARD","metric":"INFO"}],"duration":60});

  $request = [
        'command' => $command
    ];

我很确定这不太对。有什么帮助吗?

【问题讨论】:

  • 你是用ajax还是直接php这个转换
  • direc php @prasanth

标签: php json rest


【解决方案1】:

虽然 Base64 编码不是加密,但有时也可以 在单个字符串中传递数据或参数时很有用。

网址的 Base64 编码:

function b64link_encode($string){
    $string = base64_encode($string);
    $string = urlencode($string);
    return $string ;
}

对该数据进行编码并传递

URL 的 Base64 解码:

function b64link_decode($string){
    $string = urldecode($string);
    $string = base64_decode($string);
    return $string ;
}

或者你可以这样做 see this

URL 中的某些字符是特殊的,例如代表空格的 +。要通过 URL 发送任意数据,您需要对其进行 URL 转义以避免数据中包含的字符被识别为“特殊字符”。由于您要将数据放入 HTML,因此您还需要对其进行 HTML 转义以避免 URL 编码数据中的字符被识别为特殊的 HTML 字符。因此:

$data = /* some data */;
$base64Data = base64_encode($data);
$urlData = urlencode($base64Data);
$htmlData = htmlspecialchars($urlData);
printf('<input type="hidden" value="%s" name="pass-it-on">', $htmlData);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    相关资源
    最近更新 更多