package com.ruoyi.account.util.carBrand;
|
|
import com.cloud.apigateway.sdk.utils.Client;
|
import com.cloud.apigateway.sdk.utils.Request;
|
import org.apache.http.HttpEntity;
|
import org.apache.http.HttpResponse;
|
import org.apache.http.client.methods.HttpRequestBase;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.util.EntityUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
public class CarBrandUtil {
|
private static final Logger LOGGER = LoggerFactory.getLogger(CarBrandUtil.class);
|
public static String getBrand() throws Exception {
|
// Create a new request.
|
Request httpClientRequest = new Request();
|
try {
|
// Set the request parameters.
|
// AppKey, AppSecrect, Method and Url are required parameters.
|
// Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables.
|
// In this example, the AK/SK are stored in environment variables for identity authentication.
|
// Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK.
|
httpClientRequest.setKey("9a4a2b69afe141718f6843c5d39961ec");
|
httpClientRequest.setSecret("541845f206324bbc933065b44fc98c47");
|
httpClientRequest.setMethod("POST");
|
// Set a request URL in the format of https://{Endpoint}/{URI}.
|
httpClientRequest.setUrl("https://vehiclequery.apistore.huaweicloud.com/vehicle/query/brand");
|
httpClientRequest.addHeader("Content-Type", "text/plain");
|
// Set a body for http request.
|
// httpClientRequest.setBody("put your request body here");
|
} catch (Exception e) {
|
// LOGGER.error(e.getMessage());
|
return "";
|
}
|
CloseableHttpClient client = null;
|
try {
|
// Sign the request.
|
HttpRequestBase signedRequest = Client.sign(httpClientRequest, Constant.SIGNATURE_ALGORITHM_SDK_HMAC_SHA256);
|
if (Constant.DO_VERIFY) {
|
// creat httpClient and verify ssl certificate
|
HostName.setUrlHostName(httpClientRequest.getHost());
|
client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClientWithVerify(Constant.INTERNATIONAL_PROTOCOL);
|
} else {
|
// creat httpClient and do not verify ssl certificate
|
client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClient(Constant.INTERNATIONAL_PROTOCOL);
|
}
|
HttpResponse response = client.execute(signedRequest);
|
// Print the body of the response.
|
HttpEntity resEntity = response.getEntity();
|
if (resEntity != null) {
|
// LOGGER.info("Processing Body with name: {} and value: {}", System.getProperty("line.separator"),
|
// EntityUtils.toString(resEntity, "UTF-8"));
|
String string = EntityUtils.toString(resEntity, "UTF-8");
|
return string;
|
}
|
} catch (Exception e) {
|
LOGGER.error(e.getMessage());
|
} finally {
|
if (client != null) {
|
client.close();
|
}
|
}
|
return "";
|
}
|
|
|
public static String getModelById(String brandId) throws Exception {
|
// Create a new request.
|
Request httpClientRequest = new Request();
|
try {
|
// Set the request parameters.
|
// AppKey, AppSecrect, Method and Url are required parameters.
|
// Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables.
|
// In this example, the AK/SK are stored in environment variables for identity authentication.
|
// Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK.
|
httpClientRequest.setKey("9a4a2b69afe141718f6843c5d39961ec");
|
httpClientRequest.setSecret("541845f206324bbc933065b44fc98c47");
|
httpClientRequest.setMethod("POST");
|
// Set a request URL in the format of https://{Endpoint}/{URI}.
|
httpClientRequest.setUrl("https://vehiclequery.apistore.huaweicloud.com/vehicle/query/series");
|
httpClientRequest.addHeader("Content-Type", "text/plain");
|
httpClientRequest.addQueryStringParam("brandId",brandId);
|
// Set a body for http request.
|
// httpClientRequest.setBody("put your request body here");
|
} catch (Exception e) {
|
// LOGGER.error(e.getMessage());
|
return "";
|
}
|
CloseableHttpClient client = null;
|
try {
|
// Sign the request.
|
HttpRequestBase signedRequest = Client.sign(httpClientRequest, Constant.SIGNATURE_ALGORITHM_SDK_HMAC_SHA256);
|
if (Constant.DO_VERIFY) {
|
// creat httpClient and verify ssl certificate
|
HostName.setUrlHostName(httpClientRequest.getHost());
|
client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClientWithVerify(Constant.INTERNATIONAL_PROTOCOL);
|
} else {
|
// creat httpClient and do not verify ssl certificate
|
client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClient(Constant.INTERNATIONAL_PROTOCOL);
|
}
|
HttpResponse response = client.execute(signedRequest);
|
// Print the body of the response.
|
HttpEntity resEntity = response.getEntity();
|
if (resEntity != null) {
|
// LOGGER.info("Processing Body with name: {} and value: {}", System.getProperty("line.separator"),
|
// EntityUtils.toString(resEntity, "UTF-8"));
|
String string = EntityUtils.toString(resEntity, "UTF-8");
|
return string;
|
}
|
} catch (Exception e) {
|
LOGGER.error(e.getMessage());
|
} finally {
|
if (client != null) {
|
client.close();
|
}
|
}
|
return "";
|
}
|
}
|