public static void curlToPost()throws Exception{
String curlRequest = "curl https://pcl-fsc--pcl.sandbox.my.salesforce.com/services/data/v58.0/jobs/ingest/ -H 'Authorization: Bearer 00D1y0000000OXS!AR0AQDK7m0.FEK8guh5In8g.uztt1RD9HmOPU_FoUX4wWgQPUogp77med8mbGBfMsehxhibDg36lXRTsDhI9.oIYOZjkcFVu' -H \"Content-Type: application/json\" -H \"Accept: application/json\" -H \"X-PrettyPrint:1\" -d @newinsertjob.json -X POST";
//String curlRequest = "curl "+salesforceApiConfig.getDomain()+"/services/data/v58.0/jobs/ingest/ -H 'Authorization: Bearer "+SalesforceTokenUtil.getSalesforceToken()+"' -H \"Content-Type: application/json\" -H \"Accept: application/json\" -H \"X-PrettyPrint:1\" -d @newinsertjob.json -X POST";
// 解析Curl请求字符串
String[] curlParts = curlRequest.split(" ");
String url = curlParts[1];
String authorization = curlParts[4]+" "+curlParts[5].replace("'", "");
String contentType = curlParts[8].replace("\"", "");
String accept = curlParts[11].replace("\"", "");
String XPrettyPrint = curlParts[13].replace("\"", "").split(":")[1];
String dataFile = curlParts[15].replace("@", "");
// 读取请求体
String requestBody = new String(Files.readAllBytes(Paths.get(dataFile)), StandardCharsets.UTF_8);
// 创建HttpClient和HttpPost
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
// 设置请求头
httpPost.setHeader(HttpHeaders.AUTHORIZATION, authorization);
httpPost.setHeader(HttpHeaders.CONTENT_TYPE, contentType);
httpPost.setHeader(HttpHeaders.ACCEPT, accept);
httpPost.setHeader("X-PrettyPrint",XPrettyPrint);
// 设置请求体
StringEntity requestEntity = new StringEntity(requestBody);
httpPost.setEntity(requestEntity);
// 发送HTTP请求
CloseableHttpResponse response = httpClient.execute(httpPost);
// 获取响应内容
HttpEntity responseEntity = response.getEntity();
if (responseEntity != null) {
String responseString = EntityUtils.toString(responseEntity);
System.out.println(responseString);
}
// 关闭资源
response.close();
httpClient.close();
}
curl转http(java)
于 2023-07-11 14:10:21 首次发布