首先介绍一种简单的方式,因为get请求传递参数是可以直接拼凑在Url后的,这个是最基本的东西,即使有各种的工具类,本质还是这个,我们先把最本质的东西贴出来,接下来再介绍一些工具类。

@Testpublic void test01() throws IOException {// 简单建立一个客户端CloseableHttpClient client = HttpClientBuilder.create().build();// 建立请求urlStringBuilder sb = new StringBuilder("http://www.baidu.com");sb.append("?a=1");// 这里注意,如果需要传递数组的话,需要是用b[]=1&b[]=2这种格式,因为[和]都算是特殊字符,需要做编码操作//sb.append(URLEncoder.encode("b[]=1&b[]=2", "utf-8"));  JDK-8的版本使用,会抛异常,这里编码也需要像下面一样拆开sb.append("&"+URLEncoder.encode("b[]", StandardCharsets.UTF_8)+"=1"); //JDK-10以上的版本sb.append("&"+URLEncoder.encode("b[]", StandardCharsets.UTF_8)+"=2"); //JDK-10以上的版本System.out.println(sb.toString());HttpGet get = new HttpGet(sb.toString());// 设置请求头          get.setHeader("","");CloseableHttpResponse execute = client.execute(get);}

这个地方可以很明显的看到一个弊端,就是当需要编码时,拼接时太麻烦,所以我们可以使用工具类URIBuilder帮我们来生成url

    @Testpublic void test02() throws Exception {// 简单建立一个客户端CloseableHttpClient client = HttpClientBuilder.create().build();// 建立请求urlURIBuilder uriBuilder = new URIBuilder("http://www.baidu.com");//单个属性注入,多个属性,就重复多遍就好,同名不会产生覆盖//uriBuilder.addParameter("a", "1");//这里我们主要演示多个List<NameValuePair> list = new ArrayList<>();list.add(new BasicNameValuePair("a", "1"));list.add(new BasicNameValuePair("b[]", "zhangsan"));list.add(new BasicNameValuePair("b[]", "lisi"));uriBuilder.addParameters(list);//我们这里直接build,就不会发生编码解码的问题了HttpGet get = new HttpGet(uriBuilder.build());// 设置请求头          get.setHeader("","");CloseableHttpResponse execute = client.execute(get);}

Http get方式发送请求相关推荐

  1. HttpClient4.x中GET方式发送请求参数中文乱码处理

    HttpClient4.x GET 方式发送请求参数中文乱码处理 (非返回结果乱码) 之前尝试对HttpGet对象添加头部字符编码设置均无效,后改用参数字符编码处理后实现请求参数乱码正确处理. Htt ...

  2. js中使用post的方式发送请求

    在javaScript中发送请求: 1.发送get请求:下面这两个方式都是get方式的发送请求 //直接设置新的url,这种方式跳转为get方式 //document.location = " ...

  3. axios_的其他方式发送请求_使用axios.request .get .delete .post .put 等方法发送请求---axios工作笔记005

    然后我们前面使用了axios方法,来发送请求,可以看到他用这个axios就可以发送,get,put,post,delete 请求了, 但是axios还封装了单独的,request,get,delete ...

  4. 用HTTP的PUT方式发送请求

    来源:http://zhidao.baidu.com/link?url=BA96AeYlYEefAKzwT-9O1MaZisfsK62CnCFz2SZjcc_U2UiahY4eplNzzdZFlmH5 ...

  5. jQuery以Post方式发送请求并获取返回的文件供下载!

    用ajax请求文件下载当然是可以的,不用有返回值,代码差不多是这样: try{string FileName = ".//doc//[大家网]Beginning.ASP.NET.2.0.E- ...

  6. 提交请求最基础的3种方式以及可以发送请求的7个位置

    提交请求最基础的4种方式以及可以发送请求的7个位置 提交请求最基础的4种方式 一.可以使用jquery发送ajax请求 1.使用全ajax方式发送 请求实例var url = "/test/ ...

  7. Java 用HTTP的方式发送JSON报文请求

    前言: 项目调用第三方接口时,通常是用socket或者http的通讯方式发送请求:http 为短连接,客户端发送请求都需要服务器端回送响应,请求结束后,主动释放链接.Socket为长连接:通常情况下S ...

  8. POST发送请求报错及解决方案(parameter must be a JSON array)

    目的:基于Facebook-API复制已创建的广告系列(Campaign Copies)并重命名!! 初始请求方式: 根据facebook官方给出的请求方式:curl -F curl -F 'acce ...

  9. js采用ajax发送请求获取数据(实例操作)

    来,案例之前,容我分享一下js如何发送请求. 原生js发送请求: let xhr= new XMLHttpRequest(); // methods:GET/POST请求方式等,url:请求地址,tr ...

最新文章

  1. 向上转型--Upcasting
  2. SharePoint 2013 跨网站集发布功能简介
  3. 1.2 一维数组的定义、赋值和初始化
  4. 【转】PYTHON open/文件操作
  5. php获取ip几种方法区别,php获取客户端IP地址的几种方法
  6. 2Sigma OA prepare: Longest Chain
  7. El Capitan/Serial on the Intel Skylake NUC
  8. 个人八股文集合一、C/C++语言
  9. 2020年408真题_2020年港澳台联考真题——化学!
  10. 美国波士顿大学计算机专业排名,2017年波士顿大学各专业最新排名榜单 美国名校排名!...
  11. 中兴机顶盒网关服务器地址,中兴全球首发高清双向网关型DVB机顶盒
  12. 计算机如何连接wifi台式,台式电脑怎么连wifi
  13. 苹果iPhone 12系列发布会:四款新机亮相均支持5G
  14. 遭遇蚊子的獠牙,想起一种叫黄鸡婆的小虫子
  15. RocksDB基本架构与原理介绍
  16. 决策树 建模_主题建模到类别树中
  17. C++深度模型部署bili视频的tensorrt onnx和知乎的libtorch
  18. 数据资产管理实践白皮书(5.0版)
  19. 新一期创意好物分享,看看有没有你的菜!
  20. Docker Redis 哨兵 小实验

热门文章

  1. 奇安信2023HVV面试笔记
  2. c语言 库 科学计算,C语言科学计算器.txt
  3. 计算指定日期加天数后的日期
  4. 高通modem和linux区别,qualcomm qmi(modem-linux通信)
  5. Python图像处理代码
  6. NBA第一场牛马大战杂记
  7. 2016 计蒜之道 初赛 第五场
  8. python实现美国国家气候数据中心NCDC预处理,按年重采样为年度数据,并保存为Excel格式
  9. 279B - Books
  10. 内网渗透系列:权限维持方法小结