今天在重构另外一个项目看到别人写的代码的时候其中有一个泛型为namevaluepair于是上网搜了一下,看到有人写过这个觉得不错,于是转载过来当做是备忘录,附上链接点击这里

package com.souche.lease.finance.product;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import org.apache.http.HttpStatus;

import org.apache.http.NameValuePair;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.protocol.HTTP;

import org.apache.http.util.EntityUtils;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

/**

* Created by hunt on 2017/6/26.

* 使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。

* 1. 创建HttpClient对象。

* 2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。

* 3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HttpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。

* 4. 调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。

* 5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。

* 6. 释放连接。无论执行方法是否成功,都必须释放连接

*/

public class SDTestDemo {

public static void main(String[] args) {

String licenseNo = "浙A588AX";

String token = "7cc2bd72eb1e4522804dca3b88e8644d";

String city = "330100";

String timestamp = Long.toString(System.currentTimeMillis());

String sign;

Map mapParam = new HashMap<>();

mapParam.put("licenseNo", licenseNo);

mapParam.put("token", token);

mapParam.put("city", city);

mapParam.put("timestamp", timestamp);

SDTestUtil testUtil = new SDTestUtil();

sign = testUtil.MD5(testUtil.sort(mapParam));

mapParam.put("sign", sign);

/**

* 定义了一个list,该list的数据类型是NameValuePair(简单名称值对节点类型),

* 这个代码用于Java像url发送Post请求。在发送post请求时用该list来存放参数。

*/

List urlParameters = new ArrayList<>();

urlParameters.add(new BasicNameValuePair("licenseNo", licenseNo));

urlParameters.add(new BasicNameValuePair("token", token));

urlParameters.add(new BasicNameValuePair("city", city));

urlParameters.add(new BasicNameValuePair("timestamp", timestamp));

urlParameters.add(new BasicNameValuePair("sign", sign));

CloseableHttpClient httpclient = HttpClients.createDefault();

CloseableHttpResponse response = null;

HttpPost post = new HttpPost("http://101.231.154.154:8047/v4.0/renewal");

try {

post.setEntity(new UrlEncodedFormEntity(urlParameters, HTTP.UTF_8));

try {

response = httpclient.execute(post);

// 判断网络连接状态码是否正常(0--200都数正常)

if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

String content = EntityUtils.toString(response.getEntity(), "UTF-8");

JSONObject jsonObject = JSON.parseObject(content);

System.out.println("报价返回内容是:" + jsonObject.toString());

if ("SUCCESS".equals(jsonObject.getString("code"))) {

System.out.println("成功,系统处理正常");

}

}

EntityUtils.consume(response.getEntity());//完全消耗

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (null != response) response.close();

} catch (IOException e) {

e.printStackTrace();

}

}

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} finally {

//释放链接

try {

httpclient.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

java namevaluepair_NameValuePair方式传参数相关推荐

  1. java namevaluepair_NameValuePair方式传参数实例教程

    今天工作中联调外部的一个接口用post方式传输,我按照文档封装参数成Jason字符串传入,但是对方一直接受参数为空,折腾了半天也没找到问题.很苦恼,检查代码都没有错误,可是为什么对方接受参数为空呢?然 ...

  2. java list namevaluepair_NameValuePair方式传参数

    今天工作中联调外部的一个接口用post方式传输,我按照文档封装参数成Jason字符串传入,但是对方一直接受参数为空,折腾了半天也没找到问题.很苦恼,检查代码都没有错误,可是为什么对方接受参数为空呢?然 ...

  3. Tomcat应用中post方式传参数长度限制

    Tomcat应用中post方式传参数长度限制 jsp页面上是没有限制的,但是在tomcat服务器上有限制,Tomcat 默认的post参数的最大大小为2M, 当超过时将会出错,可以配置maxPostS ...

  4. java http post 传参数_http post 方法传递参数的2种方式

    1.StringEntity try{ HttpPost httpPost = new HttpPost(url); //param参数,可以为param="key1=value1& ...

  5. java http post 传参数_HttpClient之带参数的post请求

    具体代码: package cn.itcast.crawler.test; import org.apache.http.HttpEntity; import org.apache.http.Name ...

  6. java中ur 传参数_java参数传递(超经典)

    Java中的参数传递机制一直以来大家都争论不休,究竟是"传值"还是"传址(传引用)",争论的双方各执一词,互不相让.不但"菜鸟"们一头雾水, ...

  7. java非必传参数怎么处理_SpringBoot 设置传入参数非必要的操作

    我就废话不多说了,大家还是直接看代码吧~ 设置参数是否为必要参数 @RequestParam(required = false) 补充:SpringBoot 开发案例之参数传递的正确姿势 前言 开发这 ...

  8. java给静态方法传参数_java 静态方法如何实现参数传递

    java 静态方法如何实现参数传递 关注:179  答案:3  信息版本:手机版 电脑版 解决时间 2021-02-05 05:06 提问者夜落花台 2021-02-04 11:56 程序后面某个静态 ...

  9. eclipse java main方法传参数

    注意:在运行配置的地方,是给Argumments - Program agruments 赋值 参数格式:中间用空格分开

最新文章

  1. android native java_在Android Native层中创建Java虚拟机实例
  2. 如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器
  3. Mysql之一:mysqldump和LVM逻辑卷快照
  4. es6 next()、throw()、return() 的共同点
  5. 51单片机1602、18B20电子钟--C51源代码
  6. JBuilder 2005 Enterprise注册破解
  7. 因多次登录失败导致的账户锁定,ssh无法登录处理
  8. DHCP、PNF、SXE、DNS等综合实验
  9. 区块链毕业设计中期检查表模板
  10. 中兴捧月算法比赛2021 比特派 C:排队 (单调栈+二分查找)
  11. 联想台式计算机 恢复出厂设置,联想台式机电脑bios如何恢复出厂设置|联想台式机bios恢复出厂设置的方法...
  12. cdr2020永久序列号及试用过期解决
  13. 用python制作weblogo/SeqLogo/序列保守性分析图
  14. 微信小程序自定义组件使用canvas绘图,无法绘制以及fail canvas is empty问题
  15. Electron 去掉标题栏并设定可拖动
  16. 游戏c是什么网络语言,游戏cpdd网络用语是什么意思 王者荣耀里很常见
  17. Mesos | 1.3.2 webui static 界面代码分析
  18. MyDockFinder Steam版的新增功能和下载
  19. 短视频暴利躺赚的书单号玩法
  20. 找出数组中第k大小的数,输出数所在的位置

热门文章

  1. 【django】Windows下安装Redis
  2. java-php-python-ssm在线影视点播系统计算机毕业设计
  3. 所见不可得?NO!500px 图片保存攻略
  4. java.sql.SQLException: Field ‘habit_id‘ doesn‘t have a default value
  5. 如何进行Win7重装?
  6. HTTP 204响应码【转】
  7. 云服务商选择攻略|中机智库干货
  8. formCreate
  9. 铃声多多 v8.7.40.1
  10. 网易云音乐(2)————加载失败的原因