接口设计主要包括哪几个方面_软件接口方式有几种类型

接口设计主要包括哪几个方面_软件接口方式有几种类型接口调用“`javaimport org.apache.commons.codec.binary.Base64;import org.apache.http.client.config.RequestConfig;import org.apach

接口调用   “`java import org.apache.commons.codec.binary.Base64;   import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClients;   import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec;   import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.time.Instant; import java.util.UUID;   String serviceUrl = “SERVICE_URL”; // 具体服务的调用地址 int timeout = 500; // 服务调用延时 String clientId = “YOUR_CLIENT_ID”; // 替换为用户的client_id String timestamp = String.valueOf(Instant.now().toEpochMilli()); String nonce = UUID.randomUUID().toString(); String secret = “YOUR_CLIENT_SECRET”; // 替换为用户的client_secret String stringToSign = clientId + timestramp + nonce;   String sign = null; try { Mac hmacSha256 = Mac.getInstance(“HmacSHA256”); byte[] keyBytes = secret.getBytes(“UTF-8”); hmacSha256.init(new SecretKeySpec(keyBytes, 0, keyBytes.length, “HmacSHA256”)); sign = Base64.encodeBase64String(hmacSha256.doFinal(stringToSign.getBytes(“UTF-8”))); } catch (NoSuchAlgorithmException e) { } catch (UnsupportedEncodingException e) { } catch (InvalidKeyException e) { }   HttpClientBuilder httpClientBuilder = HttpClients.custom().useSystemProperties(); CloseableHttpClient httpClient = httpClientBuilder.build();   HttpPost requestMethod = new HttpPost(); // 根据服务的具体请求方法构造合适的请求方法对象,此处以POST方法为例说明 requestMethod.setURI(serviceUrl); RequestConfig config = RequestConfig.custom().setConnectTimeout(timeout).build(); requestMethod.setConfig(config);   requestMethod.addHeader(“X-Client-Id”, clientId); requestMethod.addHeader(“X-Timestamp”, timestamp); requestMethod.addHeader(“X-Nonce”, nonce); requestMethod.addHeader(“X-Signature”, sign);   CloseableHttpResponse response = httpClient.execute(requestMethod);   // 处理返回结果 “`

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/86330.html

(0)
上一篇 2024年 7月 26日
下一篇 2024年 7月 26日

相关推荐

关注微信