java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
原创
©著作权归作者所有:来自51CTO博客作者刘大猫26的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- 依赖
- 第一种:http的GET请求(application/json)
- 第二种:http的POST请求(application/json)
- 第三种:http的POST请求(application/x-www-form-urlencoded)
摘要
举例三种请求:
- http的GET请求(application/json)
- http的POST请求(application/json)
- http的POST请求(application/x-www-form-urlencoded)
依赖
<!--httpclient-->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
第一种:http的GET请求(application/json)
HttpHeaders headers = new HttpHeaders();
headers.set("token", token);
headers.set("Content-Type", "application/json");
HttpEntity requestEntity = new HttpEntity(headers);
ResponseEntity<Response> response = restTemplate.exchange(address + "/dolphinscheduler/projects/query-project-list", HttpMethod.GET, requestEntity, Response.class);
第二种:http的POST请求(application/json)
HttpHeaders headers = new HttpHeaders();
headers.set("token", token);
headers.set("Content-Type", "application/json");
HttpEntity requestEntity = new HttpEntity(projectDto, headers);
restTemplate.exchange(address + "/dolphinscheduler/projects/create", HttpMethod.POST, requestEntity, Response.class);
第三种:http的POST请求(application/x-www-form-urlencoded)
String postURL = address + "/dolphinscheduler/projects/create";
PostMethod postMethod = new PostMethod(postURL) ;
postMethod.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8") ;
postMethod.setRequestHeader("token", token);
//参数设置,需要注意的就是里边不能传NULL,要传空字符串
NameValuePair[] data = {
new NameValuePair("projectName",projectDto.getProjectName()),
new NameValuePair("description",projectDto.getDescription())
};
postMethod.setRequestBody(data);
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
httpClient.executeMethod(postMethod);
JSONObject result = JSONObject.parseObject(postMethod.getResponseBodyAsString());