HttpClient4.X发送带参数的Get请求「建议收藏」

HttpClient4.X发送带参数的Get请求「建议收藏」HttpClient是apache组织下面的一个用于处理HTTP请求和响应的开源工具。所用jar包为httpclient-4.3.6.jar、httpcore-4.3.3.jar、httpmime-4.3.6.jar、commons-codec-1.6.jar。发送Get请求代码如下:packagecom.zkn.newlearn.httpclient;importjava.

大家好,又见面了,我是你们的朋友全栈君。

HttpClient 是apache 组织下面的一个用于处理HTTP 请求和响应的开源工具。所用jar包为httpclient-4.3.6.jar、httpcore-4.3.3.jar、httpmime-4.3.6.jar、commons-codec-1.6.jar。

发送Get请求代码如下:

package com.zkn.newlearn.httpclient;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;

import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import com.google.common.collect.Lists;

public class HttpClientTest02 {

	public static void main(String[] args) {
		CloseableHttpClient httpClient = HttpClients.createDefault();
		CloseableHttpResponse response = null;
		InputStream is = null;
		String url = "http://localhost:8080/MyWebxTest/getCityByProvinceEname.do";
		//封装请求参数
		List<NameValuePair> params = Lists.newArrayList();
		params.add(new BasicNameValuePair("cityEname", "henan"));
		String str = "";
		try {
			//转换为键值对
			str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
			System.out.println(str);
			//创建Get请求
			HttpGet httpGet = new HttpGet(url+"?"+str);
			//执行Get请求,
			response = httpClient.execute(httpGet);
			//得到响应体
			HttpEntity entity = response.getEntity();
			if(entity != null){
				is = entity.getContent();
				//转换为字节输入流
				BufferedReader br = new BufferedReader(new InputStreamReader(is, Consts.UTF_8));
				String body = null;
				while((body=br.readLine()) != null){
					System.out.println(body);
				}
			}
		} catch (ParseException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally{
			//关闭输入流,释放资源
			if(is != null){
				try {
					is.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			//消耗实体内容
			if(response != null){
				try {
					response.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			//关闭相应 丢弃http连接
			if(httpClient != null){
				try {
					httpClient.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163276.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Two Days PowerShell:3

    Two Days PowerShell:3

  • Activiti7实战-入门

    Activiti7实战-入门Activiti7的使用和原理1.什么是工作流?1.1工作流介绍工作流:通过计算机对业务流程自动化执行管理。多个参与者按照某种预定规则自动进行传递文档、信息任务处理的过程。1.2工作流系统一个软件系统中具有工作流的功能,我们把它称为工作流系统。1.3工作流实现方式采用状态字段的值来跟踪流程的变化情况程序可以不用改变,业务流程可变化。1.4工作流原理分析2.什么是Activiti7Activiti是一个工作流引擎,activiti可以将业务系统中复杂的业务流程抽取

    2022年10月21日
  • MIPI协议(上)

    MIPI协议(上)一、MIPIMIPI(移动行业处理器接口)是MobileIndustryProcessorInterface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。已经完成和正在计划中的规范如下: 二、MIPI联盟的MIPIDSI规范1、名词解释•DCS(DisplayCommandSet):DCS是一个标准化的命令集,用于…

  • java arraylist遍历_java 遍历arrayList的四种方法

    java arraylist遍历_java 遍历arrayList的四种方法importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassArrayListDemo{publicstaticvoidmain(Stringargs[]){Listlist=newArrayList();list.add(“luojiahui”);list.add(“…

  • Javascript对象归纳

    Javascript对象归纳

  • Scalar_scala yield

    Scalar_scala yield掌握implicit的用法是阅读spark源码的基础,也是学习scala其它的开源框架的关键,implicit可分为:隐式参数隐式转换类型隐式调用函数1.隐式参数当我们在定义方法时,可以把最后一个参数列表标记为implicit,表示该组参数是隐式参数。一个方法只会有一个隐式参数列表,置于方法的最后一个参数列表。如果方法有多个隐式参数,只需一个implicit修饰即可。当调用包含隐式参数的方法是…

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号