Apache HttpClient访问网络工具类

1


package com.ztravel.utils;

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

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class HttpClientUtils {

public static String sendHttpclientPost(String path,
Map<String, String> map, String encode) {
// TODO Auto-generated method stub
// 填充表单的内容
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
// Key必须与action接收params的key一致
if (map != null && !map.isEmpty()) {
// 一个entry代表一个键值对,.getKey()获取键,getValue()获取值
for (Map.Entry<String, String> entry : map.entrySet()) {
pairs.add(new BasicNameValuePair(entry.getKey(), entry
.getValue()));
}
}
try {
// 添加form表单的内容,和网页的jsp一样
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairs,
encode);
// 使用post提交数据
HttpPost httpPost = new HttpPost(path);
httpPost.setEntity(entity);
HttpClient httpClient = new DefaultHttpClient();
// HttpResponse获得服务器响应的所有消息
HttpResponse response = httpClient.execute(httpPost);
// 判断连接成功
if (response.getStatusLine().getStatusCode() == 200) {
// HttpEntity获得服务器响应回来的消息体(不包括HTTP HEAD)
HttpEntity httpEntity = response.getEntity();
// 自动分辨响应的内容的编码
String defaultCharset = EntityUtils
.getContentCharSet(httpEntity);
// EntityUtils.toString将获得的消息体转换成String
return EntityUtils.toString(httpEntity, defaultCharset);
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 因为结果经常调用string的函数,所以没有返回null
return "";

}

public static String sendHttpclientGet(HttpClient httpClient, String path) {

try {// 利用HTTPGET 向服务器发起请求
// 如果URL连接过程中302重定向,则会自动跳转到新的页面
HttpGet get = new HttpGet(path);

// HttpResponse获得服务器响应的所有消息
HttpResponse response = httpClient.execute(get);

// HttpEntity获得服务器响应回来的消息体(不包括HTTP HEAD)
HttpEntity httpEntity = response.getEntity();

if (httpEntity != null) {// 获取消息体的内容
String defaultCharset = EntityUtils
.getContentCharSet(httpEntity);
// EntityUtils.toString将获得的消息体转换成String
return EntityUtils.toString(httpEntity, defaultCharset);
}

} catch (Exception e) {
}
return "";// 返回"",但不是空值
}

/**
* 从网络获取图片字节数组
* @param path
* @return
*/
public static byte[] getByteArrayByUrl(String path) {
byte[] data = null;
try {// 利用HTTPGET 向服务器发起请求
// 如果URL连接过程中302重定向,则会自动跳转到新的页面
HttpGet get = new HttpGet(path);

HttpClient httpClient=new DefaultHttpClient();;
// HttpResponse获得服务器响应的所有消息
HttpResponse response = httpClient.execute(get);

// HttpEntity获得服务器响应回来的消息体(不包括HTTP HEAD)
HttpEntity httpEntity = response.getEntity();

if (httpEntity != null) {// 获取消息体的内容
data = EntityUtils.toByteArray(httpEntity);
}

} catch (Exception e) {
}
return data;// 返回"",但不是空值
}
}

Done

Apache HttpClient访问网络工具类,布布扣,bubuko.com

时间: 2024-11-04 13:13:57

Apache HttpClient访问网络工具类的相关文章

使用Apache HttpClient访问网络(实现手机端注册,服务器返回信息)

这两天看了点网络编程,根据教程写了一个小的注册服务,贴出来. 本实例分别演示用GET方式和POST方式想服务器发送注册信息,分为客户端和服务器端两部分: 客户端注册用户信息,发送到服务器 服务器端接收信息并向客户端返回注册信息.(服务器端使用J2EE中的Servlet技术来实现,并发布到Tomcat服务器上) 代码运行效果如下: 客户端: 1.点击get注册按钮后: 客户端: 服务器端: 2.点击post注册按钮后: 客户端: 服务器端: 3.当服务器端关闭时: 客户端注册信息时会提示链接超时:

Apache HttpClient组件封装工具类

package com.mengyao.spider.utils; import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry; import org.apache.http.Header;import org.apache.http.HttpEntity;imp

android客户端访问网络工具类

package com.yqq.loginclient.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.HttpURLConnection; import java.net.MalformedURLExceptio

HttpClient访问网络

HttpClient项目时Apache提供用于访问网络的类,对访问网络的方法进行了封装.在HttpURlConnection类中的输入输出操作,统一封装成HttpGet.HttpPost.HttpResponse 一.服务器端前台 1.发送GET请求的步骤: (1)创建HttpClient对象:HttpClient httpClient=new DefaultHttpClient(); (2)创建HttpGet对象:HttpGet httpGet=new HttpGet(http://www.b

捕获异常、存sd卡、封装请求头体、加密map值、网络工具类、生成Json、Https协议、传log日志到服务器、app崩溃友好重启

点击打开链接,免积分下载 在集成了统计SDK(友盟统计,百度统计等)之后,有一个非常有利于测试的功能:错误分析!此功能能够将程序在运行中碰到的崩溃(runtimeException)问题反馈到服务器,帮助开发者改善产品,多适配机器.然而在公司android开发中不集成这些SDK,那应该怎么实现这样的功能呢?下面让我们来看下如何使用UncaughtExceptionHandler来捕获异常. 在Android开发中,常常会出现uncheched Exception 导致程序的crash,为了提供良

封装网络工具类

// HFNetWorkTools.h #import <Foundation/Foundation.h> typedef void(^callBack)(); @class AFHTTPSessionManager; @interface HFNetWorkTools : NSObject @property(nonatomic,copy)AFHTTPSessionManager *manager; @property(nonatomic,copy)callBack block; + (in

Android学习笔记--使用Apache HttpClient实现网络下载效果,附带进度条显示

今天学习 了Apache 写了一个网络下载的效果,代码如下,代码中我已经写了很详细的注释了,相信大家都能看懂 1 http://m.blog.csdn.net/article/details?id=52927536 2 3 4 package com.wuxianedu.httpdemo; 5 6 import android.app.ProgressDialog; 7 import android.content.Intent; 8 import android.net.Uri; 9 impo

android工具类(2)NetWorkHelper 网络工具类

import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; import android.net.NetworkInfo.State; import android.telephony.TelephonyManager; import android.util.Log; public class Net

java开发_org.apache.commons.lang.StringUtils工具类源码

package org.apache.commons.lang; 18 19 import java.util.ArrayList; 20 import java.util.Collection; 21 import java.util.Iterator; 22 import java.util.List; 23 import java.util.Locale; 24 25 import org.apache.commons.lang.text.StrBuilder; 26 27 /** 28