java 使用httppost设置json参数发送请求

8,319次阅读
没有评论

共计 1743 个字符,预计需要花费 5 分钟才能阅读完成。

对接第三方接口时,有时接口要求参数为 json 格式,留个笔记备用!

引入的包如下

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import java.security.MessageDigest;
import org.apache.http.entity.StringEntity

核心代码如下,其中有个对参数进行 hash+salt 加密方法名为 getSignature()

getSignature()具体代码如下图一 

发送请求并获取响应的代码如下图二

private String getSignature(String param)  {
		String ori=param+ 指定的 salt 或者随机生成 salt;
		MessageDigest md = null;
		try {md = MessageDigest.getInstance("SHA-256");
			md.update(ori.getBytes("UTF-8"));
			return  byte2Hex(md.digest());
		} catch (NoSuchAlgorithmException e) {throw new RuntimeException(e);
		} catch (UnsupportedEncodingException e) {throw new RuntimeException(e);
		}
	}



private  String byte2Hex(byte[] bytes){StringBuffer stringBuffer = new StringBuffer();
		String temp = null;
		for (int i=0;i
HttpClient client = new DefaultHttpClient();
HttpResponse resp;    
HttpPost post = new HttpPost(url);       
post.addHeader("Accept", "application/json");
		String authorization = "Bearer" + getAccessToken().get("data").toString();
		post.addHeader("Authorization", authorization);
		post.addHeader("Content-Type", "application/json");
		JSONObject param = new JSONObject();
		param.put("paraName1",paramaValue1);
        param.put("paraName2",paramaValue2);
		String sign=getSignature(param.toString());
		post.addHeader("sign", sign);
		StringEntity reqEntity = new StringEntity(param.toString(),"utf-8");
		reqEntity.setContentEncoding("UTF-8");
		reqEntity.setContentType("application/json");
		// 设置类型
		// 设置请求的数据
		post.setEntity(reqEntity);
        try{resp = client.execute(post);
			HttpEntity httpEntity = resp.getEntity();
			sResponse = EntityUtils.toString(httpEntity, "UTF-8").trim();
        Map respMap =jsonToBean(sResponse, Map.class);

            }catech(Exception e){e.printstsck();
        }
        resp = client.execute(post);

,httppost 设置参数主要靠 xxxeneity, 详情可以百度查看使用!

原文地址: java 使用 httppost 设置 json 参数发送请求

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-07发表,共计1743字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)