java发送post formdata java发送post请求带参数
转载
导入以下依赖:
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.1</version>
</dependency>
<!-- 需加上classifier: jdk15 -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
工具类: HttpClientUtils.java
package com.idea.fire.firecontrol.utils;
import net.sf.json.JSONObject;
import org.apache.http.*;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
//模拟浏览器发送http请求完成固定地址的请求
public class HttpClientUtils {
/**
* 发送post请求
* @param url
* @param json
* @return
*/
public static JSONObject DO_POST(String url, JSONObject json){
DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
JSONObject response = null;
try {
StringEntity s = new StringEntity(json.toString());
s.setContentEncoding("UTF-8");
s.setContentType("application/json");//发送json数据需要设置contentType
post.setEntity(s);
HttpResponse res = client.execute(post);
if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
HttpEntity entity = res.getEntity();
String result = EntityUtils.toString(res.getEntity());// 返回json格式:
response = JSONObject.fromObject(result);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return response;
}
}
准备被请求接口:
@RestController
@RequestMapping("user")
public class UserController {
@PostMapping("login")
public R login(@RequestBody User user)
{
return R.ok().data("user", user);
}
}
测试:
public static void main(String[] args) throws Exception {
JSONObject params = new JSONObject();
params.put("username", "admin");
params.put("password", "admin");
System.out.println(HttpClientUtils.DO_POST("ip/user/login", params));
}
控制台输出:
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。