请求与返回示例(1) 示例四:图片检测(Base64 方式) 请求体: java { "checkService":"imagesecuritycheck", "reqId":"req1004", "imageBase64":"data:image/jpeg;base64,/9j/4AAQSkZJRgAB..." } 示例五:参数缺失(失败场景) 请求体(缺少reqId): java { "checkService":"textinputcheck", "prompt":"hello" } 返回: java { "code":"500", "subCode":"500", "message":"请求ID不能为空", "success":false, "data":null } 完整调用示例(Java) 以下示例展示了如何同时构造业务签名(XHMACSIGNATURE)并发起文本输入检测请求。完整的 EOP 签名(EopAuthorization)请参考天翼云 EOP SDK 或按上文步骤自行实现。 java importcn.hutool.crypto.digest.HMac; importcn.hutool.crypto.SecureUtil; importcn.hutool.core.codec.Base64; importjava.net.http.HttpClient; importjava.net.http.HttpRequest; importjava.net.http.HttpResponse; importjava.net.URI; importjava.util.UUID; publicclass AiGuardClient { privatestaticfinalString APIURL " privatestaticfinalString ACCOUNTID "youraccountid"; privatestaticfinalString APPCODE "yourappcode";// AK privatestaticfinalString PUBLICKEY "yourpublickey"; privatestaticfinalString PRIVATEKEY "yourprivatekey";// SK publicstaticvoidmain(String[] args)throwsException{ // 构造业务签名(XHMACSIGNATURE) long timestamp System.currentTimeMillis(); String message PUBLICKEY +""+ timestamp; HMac hMac SecureUtil.hmacSha256(PRIVATEKEY); String xHmacSignature Base64.encode(hMac.digest(message)); // EOP 签名所需参数 String eopRequestId UUID.randomUUID().toString(); String eopDate getCurrentEopDate();// 格式:yyyyMMddTHHmmssZ,北京时间 String eopAuthorization buildEopAuthorization(APPCODE, PRIVATEKEY, eopRequestId, eopDate, requestBody); // buildEopAuthorization 方法请参照 5.8.2 节四步签名算法自行实现 String requestBody """ { "checkService": "textinputcheck", "reqId": "requuid001", "prompt": "这是待检测的用户输入内容" } """; HttpClient client HttpClient.newHttpClient(); HttpRequest request HttpRequest.newBuilder() .uri(URI.create(APIURL)) .header("ContentType","application/json") .header("accountid", ACCOUNTID) .header("XAPPCODE", APPCODE) .header("XREQUESTDATE",String.valueOf(timestamp)) .header("XHMACSIGNATURE", xHmacSignature) .header("ctyuneoprequestid", eopRequestId) .header("Eopdate", eopDate) .header("EopAuthorization", eopAuthorization) .POST(HttpRequest.BodyPublishers.ofString(requestBody)) .build(); HttpResponse response client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println("Response: "+ response.body()); } }
来自: