`
tianjun309
  • 浏览: 373698 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HttpClient 发送Post,Get请求例子(包含设置请求头信息和获取返回头信息)

阅读更多
package com.test.action;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

/**
 * 
 * 依赖 commons-httpclient-3.1.jar  commons-codec-1.4.jar 
 * @author tianjun
 * 
 */
public class PostTest
{
	public static void main(String[] args)
	{
		// (1)构造HttpClient的实例
		HttpClient httpClient = new HttpClient();

		// (2)创建POST方法的实例
		PostMethod postMethod = new PostMethod(
				"http://localhost:8080/b/test1.do");
		// GetMethod getMethod = new
		// GetMethod("http://localhost:8080/b/test1.do");

		// (3)设置http request头
		List<Header> headers = new ArrayList<Header>();
		headers.add(new Header("tianjun_key", "tianjun_value"));
		httpClient.getHostConfiguration().getParams().setParameter(
				"http.default-headers", headers);

		// 使用系统提供的默认的恢复策略
		postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
				new DefaultHttpMethodRetryHandler());
		// getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
		// new DefaultHttpMethodRetryHandler());

		try
		{
			// (4)执行postMethod
			int statusCode = httpClient.executeMethod(postMethod);
			if (statusCode != HttpStatus.SC_OK)
			{
				System.err.println("Method failed: "
						+ postMethod.getStatusLine());
			}

			// (5)读取response头信息
			Header headerResponse = postMethod
					.getResponseHeader("response_key");
			String headerStr = headerResponse.getValue();
			// (6)读取内容
			byte[] responseBody = postMethod.getResponseBody();
			// (7) 处理内容
			System.out.println(headerStr);
			System.out.println(new String(responseBody));
		} catch (HttpException e)
		{
			// 发生致命的异常,可能是协议不对或者返回的内容有问题
			System.out.println("Please check your provided http address!");
			e.printStackTrace();
		} catch (IOException e)
		{
			e.printStackTrace();
		} catch (Exception e)
		{
			e.printStackTrace();
		} finally
		{
			// 释放连接
			postMethod.releaseConnection();
		}
	}
}
 
分享到:
评论

相关推荐

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    下面是一个POST请求的例子,包括设置请求头和请求体: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache....

    HttpClient发送http请求(post+get)需要的jar包+内符java代码案例+注解详解

    本篇将详细介绍如何使用HttpClient发送HTTP请求,包括POST和GET方法,同时提供相关的jar包依赖以及Java代码示例,并对关键代码进行注解解释。 一、HttpClient库的引入 在Java项目中,首先需要添加HttpClient的jar包...

    c# http协议,实现get或post发送请求 并返回内容

    这段代码创建了一个HttpClient实例,发送一个GET请求到指定的URL,然后读取并返回响应的内容。 **POST请求示例:** ```csharp public async Task&lt;string&gt; SendHttpPostRequest(string url, string postData) { ...

    httpclient.post例子

    通过`java_httpclient_post`这个文件名,我们可以推测其中可能包含了完整的示例代码或者相关教程,你可以参考这个文件来实践和学习HttpClient的POST请求使用。记住,实践是检验理论的最好方式,尝试运行这个例子,看...

    httpclient发送post请求.docx

    在Java编程中,`HttpClient` 是一个非常重要的库,它允许开发者执行HTTP请求,包括GET、POST等。这里我们详细探讨一下如何使用`HttpClient`发送POST请求,以及这个过程中的关键知识点。 首先,我们创建一个`...

    java发送http/https请求(get/post)代码

    以下是一个使用HttpClient发送POST请求的例子: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("https://example.com"); List&lt;NameValuePair&gt; params ...

    JAVA发送HttpClient请求及接收请求完整代码实例

    HttpClient库是由Apache软件基金会开发的,广泛应用于各种网络通信场景,包括数据的获取、上传、下载等。本篇文章将详细介绍如何使用HttpClient进行HTTP请求,并提供一个完整的Java代码实例。 首先,我们需要引入...

    完整的HttpClient的get和post使用方法实例(java源代码)

    **一、HttpClient的GET请求** GET请求是最基础的HTTP请求方式,用于从服务器获取资源。在HttpClient中,可以通过`HttpGet`类来创建GET请求。以下是一个简单的示例: ```java import org.apache.http.HttpResponse;...

    HttpClient的简单使用,get、post、上传、下载

    HttpClient发送GET请求的基本步骤包括创建HttpClient对象、构建HttpGet请求、执行请求并获取响应: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(...

    java发送post和get请求源码及jar包

    在Java编程中,发送HTTP POST和GET请求是常见的任务,特别是在与Web服务交互或进行自动化测试时。HTTP协议是互联网上应用最广泛的一种网络协议,它定义了客户端(如浏览器或Java应用程序)如何向服务器请求数据,...

    cocos2dx Http 网络请求 例子

    在这个"Cocos2dx Http 网络请求 例子"中,我们将深入探讨如何在Cocos2d-x环境下进行HTTP网络请求,包括GET和POST两种常见方法。 首先,我们需要理解HTTP协议的基础知识。HTTP(超文本传输协议)是互联网上应用最...

    Httpclient+testng接口测试小例子

    5. **执行请求**:使用HttpClient的`execute`方法发送请求,并获取`HttpResponse`对象,其中包含了服务器的响应。 6. **处理响应**:从`HttpResponse`中提取响应码、响应体等信息。可以使用`getStatusLine`获取状态...

    httpclient4.0 使用帮助、例子

    本篇文章将详细介绍HTTPClient 4.0的使用方法,包括其核心概念、基本操作和示例代码。 一、核心概念 1. HttpClient实例:HttpClient对象是执行HTTP请求的核心,负责建立连接、发送请求和接收响应。通过`...

    采用 HttpClient GET、POST 方式 提交数据到服务器

    下面是一个使用HttpClient发送GET请求的例子: ```java import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import ...

    httpClient例子

    在本示例中,我们将深入探讨如何使用HttpClient进行POST和GET请求,以及如何设置代理。 首先,HttpClient的核心类是`CloseableHttpClient`,它是HTTP客户端的实现,负责创建和管理HTTP连接。为了发起请求,我们需要...

    HttpClient包及例子

    HttpClient库还包括了处理响应头、自定义请求头、设置超时、处理重定向等功能。它还支持多种认证机制,包括基本认证、摘要认证以及NTLM等。 压缩包中的`httpclient-4.0-alpha2.jar`文件包含了HttpClient库的所有类...

    C#实现发送简单HTTP请求的方法

    在C#编程中,发送HTTP请求是常见的网络通信任务,用于...例如,使用HttpClient发送GET请求如下: ```csharp using System.Net.Http; using System.Threading.Tasks; // ... HttpClient client = new HttpClient(); ...

    httpclient用到的jar文件,例子

    以上代码展示了如何使用HTTPClient发送GET和POST请求。首先创建一个`CloseableHttpClient`实例,然后构造对应的`HttpGet`或`HttpPost`对象,设置请求URL。对于POST请求,需要添加请求参数。接着,执行请求并处理响应...

    http post/get请求所需的jar包,附带post请求源码样例

    GET请求的特点是简单、快速,但不适合传递大量数据或敏感信息,因为这些信息会暴露在浏览器的历史记录和缓存中。 POST请求则是向服务器提交数据,通常用于创建新资源或更新已有资源。与GET不同,POST请求的数据包含...

Global site tag (gtag.js) - Google Analytics