HttpClient 带账号验证,post,传参为xml格式
// 发送有xml文件的post请求
public static String createJob(String jobName, String xmlString)
throws ClientProtocolException, IOException {
// jenkins登录账号
String username = "###";
// jenkins登录密码
String password = "###";
// 新建jenkinsjob的url
String jenkinsUrl = "http://172.0.0.18:18080/jenkins/createItem?name=jobName";
URI uri = URI.create(jenkinsUrl);
HttpHost host = new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme());
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(new AuthScope(uri.getHost(), uri.getPort()),
new UsernamePasswordCredentials(username, password));
// Create AuthCache instance
AuthCache authCache = new BasicAuthCache();
// Generate BASIC scheme object and add it to the local auth cache
BasicScheme basicAuth = new BasicScheme();
authCache.put(host, basicAuth);
CloseableHttpClient httpClient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
HttpPost httpPost = new HttpPost(uri);
StringEntity entity=new StringEntity(xmlString);
httpPost.setEntity(entity);
httpPost.setHeader("Content-Type","text/xml;charset=ISO-8859-1");
HttpClientContext localContext = HttpClientContext.create();
localContext.setAuthCache(authCache);
HttpResponse response = httpClient.execute(host, httpPost, localContext);
String result = EntityUtils.toString(response.getEntity());
System.out.println(result);
return result;
}