API 代码示例

以下示例展示如何从 JavaScript、Python、Java 和 PHP 调用 HCC2D API。请将 hcc2d_<your-key> 替换为你的真实 API 密钥。

← 返回 API 文档

JavaScript (fetch)

适用于 Node.js 18+ 和现代浏览器。

const API_KEY = "hcc2d_<your-key>";
const BASE    = "https://hcc2d.com";

async function generateCode(text, filename = "payload.txt") {
  const payloadBase64 = btoa(
    String.fromCharCode(...new TextEncoder().encode(text))
  );

  const res = await fetch(BASE + "/api/v1/generate", {
    method: "POST",
    headers: {
      "Authorization": "Bearer " + API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      payloadBase64,
      inputName: filename,
      structured: true,
      mode: "hcc2d8",
      ec: "M",
    }),
  });

  if (!res.ok) {
    const err = await res.json();
    throw new Error(String(res.status) + " " + err.code + ": " + err.error);
  }

  const { imageUrl } = await res.json();
  const img = await fetch(BASE + imageUrl);
  const buffer = await img.arrayBuffer();
  return Buffer.from(buffer);
}

Python (requests)

需要 requests 库(pip install requests)。

import base64
import requests

API_KEY = "hcc2d_<your-key>"
BASE    = "https://hcc2d.com"

def generate_code(text: str, filename: str = "payload.txt", out: str = "code.png") -> None:
    payload_b64 = base64.b64encode(text.encode()).decode()

    res = requests.post(
        f"{BASE}/api/v1/generate",
        headers={
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json",
        },
        json={
            "payloadBase64": payload_b64,
            "inputName": filename,
            "structured": True,
            "mode": "hcc2d8",
            "ec": "M",
        },
        timeout=30,
    )
    res.raise_for_status()

Java (HttpClient)

需要 Java 11+,并使用标准 java.net.http 包。

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Path;
import java.util.Base64;

public class Hcc2dExample {
    static final String API_KEY = "hcc2d_<your-key>";
    static final String BASE    = "https://hcc2d.com";
}

PHP (cURL)

适用于 PHP 7.4+ 及标准 curl 扩展。

<?php
const API_KEY = 'hcc2d_<your-key>';
const BASE    = 'https://hcc2d.com';

function generateCode(string $text, string $filename = 'payload.txt', string $out = 'code.png'): void {
    $payloadBase64 = base64_encode($text);
}

编码二进制文件

对于 PDF、ZIP、图像等非文本负载,请直接读取原始字节并进行 base64 编码:

JavaScript

import { readFileSync } from "fs";

const bytes = readFileSync("document.pdf");
const payloadBase64 = bytes.toString("base64");

Python

import base64

with open("document.pdf", "rb") as f:
    payload_b64 = base64.b64encode(f.read()).decode()

Java

byte[] bytes = Files.readAllBytes(Path.of("document.pdf"));
String payloadBase64 = Base64.getEncoder().encodeToString(bytes);

PHP

$payloadBase64 = base64_encode(file_get_contents('document.pdf'));

另请参阅

API 文档 — 字段、错误代码和速率限制的完整说明。

HCC2DF 格式参考 — 结构化容器的二进制布局。

← 返回 HCC2D 编码器