java如何实现postman中用x-www-form-urlencoded参数的请求
作者:黄黄黄黄黄莹
在Java开发中,模拟Postman发送x-www-form-urlencoded类型的请求是一个常见需求,本文主要介绍了如何在Java中实现这一功能,首先,需要通过导入http-client包来创建HTTP客户端,接着,利用该客户端发送Post请求
java postman用x-www-form-urlencoded参数的请求
首先,先给出postman的参数构造:
java代码实现(以post方法为例)
PostMethod postMethod = new PostMethod(valueConfig.getImpsAuthUrl()) ; postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") ; //参数设置,需要注意的就是里边不能传NULL,要传空字符串 //key value 形式参数 NameValuePair[] data = { new NameValuePair("username","test"), new NameValuePair("password","test123") }; postMethod.setRequestBody(data); HttpClient httpClient = new HttpClient(); int response = httpClient.executeMethod(postMethod); // 执行POST方法 String result = postMethod.getResponseBodyAsString() ; //返回结果 if (response == 200 && result != null) { //成功后的逻辑 doSth(); log.info("获取请求,result={}", result); }
java实现postman为x-www-form-urlencoded的调用
客户端实现
导入http-client jar。
<dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency>
public static void clientDemo() { try { String requestUrl = "http://hello/demo"; PostMethod postMethod = new PostMethod(requestUrl); String data = "json_json_json_json"; StringRequestEntity stringRequestEntity = new StringRequestEntity(data, "application/x-www-form-urlencoded", "utf-8"); postMethod.setRequestEntity(stringRequestEntity); org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient(); //调用接口 int code = httpClient.executeMethod(postMethod); String result = postMethod.getResponseBodyAsString(); System.out.println("接口状态" + code); System.out.println("响应" + result); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } }
服务端实现
@RequestMapping(value = "/receive", method = RequestMethod.POST) @ResponseBody public String receiveFare(@RequestBody String str) { System.out.println("接到数据:" + str); return "ok"; }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。