`

apache的http传输

 
阅读更多
package com.util;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.HttpClientUtils;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

/* 
 * 利用HttpClient进行post请求的工具类 
 */
@SuppressWarnings("deprecation")
public class ApacheHttpClientUtil {
	/**
	 * HttpClient post 请求的方法
	 * @param url 请求地址
	 * @param data 推送字符串
	 * @return String 返回值
	 */
	public static String HttpPostSting(String url, String data) {
		String returnValue = "这是默认返回值,接口调用失败";
		HttpClient httpClient = null;  
		ResponseHandler<String> responseHandler = new BasicResponseHandler();
		try {
			// 第一步:创建HttpClient对象
			httpClient = HttpClients.createDefault();

			// 第二步:创建httpPost对象
			HttpPost httpPost = new HttpPost(url);

			// 第三步:给httpPost设置参数
			StringEntity requestEntity = new StringEntity(data, "utf-8");
			requestEntity.setContentEncoding("UTF-8");
			httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
			httpPost.setEntity(requestEntity);

			// 第四步:发送HttpPost请求,获取返回值
			returnValue = httpClient.execute(httpPost, responseHandler); // 调接口获取返回值时,必须用此方法
			// CloseableHttpResponse httpResonse = httpClient.execute(httpPost);
			// int statusCode = httpResonse.getStatusLine().getStatusCode();
			// if(statusCode!=200)
			// {
			// System.out.println("请求发送失败,失败的返回参数为:"+httpResonse.getStatusLine());
			// returnValue = httpResonse.getStatusLine().toString();
			// }
			//

		} catch (Exception e) {
			e.printStackTrace();
		}

		finally {
			HttpClientUtils.closeQuietly(httpClient);
		}
		// 第五步:处理返回值
		return returnValue;
	}
	
	/**
	 * HttpClient post 请求的方法
	 * @param url 请求地址
	 * @param map 推送参数
	 * @param charset 推送参数编码格式
	 * @return String 返回值
	 */
	 public static String HttpPostMap(String url,Map<String,String> map,String charset){  
	        HttpClient httpClient = null;  
	        HttpPost httpPost = null;  
	        String result = null;
	        try{
	        	httpClient =  HttpClients.createDefault();
	            httpPost = new HttpPost(url);  
	            //设置参数  
	            List<NameValuePair> list = new ArrayList<NameValuePair>();  
	            Iterator iterator = map.entrySet().iterator();  
	            while(iterator.hasNext()){
	                Entry<String,String> elem = (Entry<String, String>) iterator.next();  
	                list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));  
	            }
	            if(list.size() > 0){  
	                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);  
	                httpPost.setEntity(entity);  
	                HttpResponse response = httpClient.execute(httpPost);  
		            if(response != null){  
		                HttpEntity resEntity = response.getEntity();  
		                if(resEntity != null){  
		                    result = EntityUtils.toString(resEntity,charset);  
		                }  
		            }  
	            }  
	           
	        }catch(Exception ex){  
	            ex.printStackTrace();  
	        }  
	        return result;  
	    }  
	
	
}

分享到:
评论

相关推荐

    org.apache.http.entity.mime和org.apache.http.legacy

    在HTTP通信中,MIME类型用于定义传输数据的类型,比如文本、图像、音频或视频等。这个模块提供了用于构建和解析MIME格式请求实体的类和接口。它支持表单数据的上传,包括文件和其他复杂数据结构。例如,`...

    org.apache.HTTP需要的jar包

    HTTP Core库不包含任何HTTP应用程序特定的功能,但为HTTP客户端提供了基础的连接管理、请求/响应处理和传输编码等功能。主要类有`HttpClientConnectionManager`(管理HTTP连接)、`HttpRequest`和`HttpResponse`...

    org.apache.http jar包下载

    Apache HTTP 客户端库是Java开发者常用的网络通信工具,主要包含了`org.apache.http`相关的类和接口。这个jar包广泛应用于网络爬虫的开发,同时也适用于那些需要与Web服务器进行交互的Android应用,尤其是在处理HTTP...

    linux系统 apache http 免安装包

    在Apache中,openssl用于实现HTTPS服务,提供安全的网络通信,防止数据在传输过程中被窃取或篡改。 5. **httpd-2.4.43**:这就是Apache HTTP Server本身,版本号为2.4.43。这个版本包含了性能优化、安全改进和新...

    Apache Http Server、Apache Tomcat、mod_jk

    在提供的信息中,我们看到Apache版本为2.0.63,这是一个较早的版本,发布于2007年,支持Windows 32位操作系统,并且集成了OpenSSL 0.9.7m版本,用于提供安全套接层(SSL)和传输层安全(TLS)协议,确保网络通信的...

    Apache HTTP Server API文档

    7. **过滤器系统**:Apache的过滤器系统允许开发者在数据传输前对其进行处理,如修改响应内容、压缩数据等。`mod_deflate`就是一例,它使用GZIP压缩响应数据。API文档会阐述如何创建和注册过滤器。 8. **性能优化**...

    org.apache.http.jar

    标题中的"org.apache.http.jar"是一个Java库,属于Apache HttpClient项目的一部分。Apache HttpClient是一个流行的开源Java库,专门用于实现客户端HTTP通信。它提供了强大的功能,包括支持HTTP/1.1协议、连接管理、...

    Apache http 协议包大集合

    2. **httpcomponents-core-4.1.4-bin.tar.gz**:这是Apache HttpCore库的版本,它是HttpClient的基础,提供了HTTP协议传输层的低级实现,包括连接管理、协议处理和数据传输等功能。HttpCore的设计目的是为了降低复杂...

    org.apache.http

    1. httpcore-4.x.jar:Apache HttpCore库,提供HTTP协议处理的基础组件,包括连接管理和传输机制。 2. httpcore-nio-4.x.jar:HttpCore的非阻塞I/O实现,适合高并发场景。 3. httpmime-4.x.jar:扩展了HttpClient,...

    Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    Apache HTTP Server(通常简称为Apache)是世界上最流行的Web服务器,而Tomcat则是一个开源的Java Servlet容器,主要用于运行Java Web应用程序。将这两者结合使用,可以实现强大的动态内容处理和静态资源服务。本文...

    Linux上apache http server 所有依赖

    1. **HTTP协议库**:Apache服务器的核心功能之一是处理HTTP(超文本传输协议)请求。这通常依赖于如`libhttpd`这样的库,它提供对HTTP/1.1协议的支持。 2. **SSL/TLS支持**:为了实现安全的HTTPS连接,Apache需要`...

    安卓org.apache.http.legacy.jar包下载

    早期,Android系统支持使用Apache HTTP客户端库(HttpClient)进行网络请求,但在Android API Level 26(Android 8.0 Oreo)之后,该库被弃用,并在API Level 28(Android 9.0 Pie)中完全移除。这导致了许多依赖于...

    ApacheHttp编程时用到的JAR包

    2. **httpcore-4.1.4.jar**:Apache HttpCore是HttpClient的基础,提供低级别的HTTP协议处理,包括连接管理和传输编码。HttpCore专注于HTTP协议的执行,为HttpClient提供了基本的网络通信支持。 3. **httpclient-...

    Apache Http 中文文档

    Apache HTTP Server,通常简称为Apache,是世界上最广泛使用的网络服务器软件之一。这个开源项目由Apache软件基金会维护,提供了丰富的功能和高度的可扩展性,使其能够处理各种类型的Web应用程序和服务器配置需求。...

    Apache HTTP Server Version 2.2 中文帮助详解文档

    这个开源项目由Apache软件基金会维护,它提供了一个跨平台的、稳定的、高性能的HTTP(超文本传输协议)服务环境。Apache 2.2版本是其历史上的一个重要版本,引入了许多改进和新特性,以增强性能、安全性和可扩展性。...

    Apache HTTP Server Version 2.2 文档(2013.4.10最新)

    httpd - Apache超文本传输协议服务器 httxt2dbm - 生成RewriteMap指令使用的dbm文件 服务器和支持程序 logresolve - 解析Apache日志中的IP地址为主机名 其他程序 rotatelogs - 滚动Apache日志的管道日志程序 suexec...

    org.apache.HTTP需要的jar包.zip

    2. **httpcore.jar**:这是HttpClient的基础,提供了HTTP协议的基本实现,包括连接管理和传输层。 3. **httpmime.jar**:用于处理MIME类型的请求,例如上传文件或发送复杂表单数据。 4. **httpclient-cache.jar**:...

    apache-httpcomponents-httpcore.jar.zip官网下的解压可用

    这个压缩包文件"apache-httpcomponents-httpcore.jar.zip"包含了HTTPCore组件,它是Apache HTTP Components项目的基础部分,专注于提供低级别的HTTP传输机制。在本文中,我们将深入探讨HTTPCore的基本概念、功能以及...

    org.apache.http包

    这些是`HttpEntity`的实现,分别用于处理基本的流式数据、分块传输和文件上传。 5. `HttpProtocolParams`与`HttpParams` 这些类用于设置和管理HTTP协议参数,如编码、版本、超时等。 三、常用类与接口 1. `...

    apache常用jar包

    6. **httpcore-4.2.2.jar**:这是HttpComponents Core的版本4.2.2,它是HttpClient的基础,提供了HTTP传输协议的基本实现,包括连接管理和I/O处理。 7. **httpclient-cache-4.2.3.jar**:这是一个专门处理HTTP缓存...

Global site tag (gtag.js) - Google Analytics