`
nicegege
  • 浏览: 579223 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单的使用httpClient之远程请求获取数据

 
阅读更多

httpClient使用非常方便,远程请求url路径获取返回数据,数据类型可以是字符串,字节数组。httpClient顾名思义,实现了http协议的客户端。值得注意的是请求之后,一定要关闭请求。

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

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.springframework.stereotype.Service;

import com.chinaedu.nstats.service.IServiceUtils;
@Service("serviceUtils")
public class ServiceUtils implements IServiceUtils {
	public String execute(String url){
		HttpClient httpClient  = new HttpClient();
		GetMethod getMethod = null;
		getMethod = new GetMethod(url);  
		String responseBody=null;
		try {
            int statusCode = httpClient.executeMethod(getMethod);
            if (statusCode != HttpStatus.SC_OK) {
                System.err.println("Method failed: "
                        + getMethod.getStatusLine());
            }
            // 读取内容
            responseBody = getMethod.getResponseBodyAsString();
        } catch (HttpException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
        	getMethod.releaseConnection();
        }
		return responseBody;
		
	}
	public String executePostMethod(String url,Map<String,String> parames){
		HttpClient httpClient  = new HttpClient();
		PostMethod postMethod=null;
		postMethod = new PostMethod(url);  
		postMethod.addParameter("subject", parames.get("subject"));
		postMethod.addParameter("teacher", parames.get("teacher"));
		postMethod.addParameter("beginTime", parames.get("beginTime"));
		postMethod.addParameter("endTime", parames.get("endTime"));
		String responseBody=null;
		try {
            int statusCode = httpClient.executeMethod(postMethod);
            if (statusCode != HttpStatus.SC_OK) {
                System.err.println("Method failed: "
                        + postMethod.getStatusLine());
            }
            // 读取内容
            responseBody = postMethod.getResponseBodyAsString();
        } catch (HttpException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			postMethod.releaseConnection();
        }
		return responseBody;
	}
}

 

分享到:
评论

相关推荐

    C#中HttpWebRequest、WebClient、HttpClient的使用详解

    HttpWebRequest: 命名空间: System.Net,这是.NET创建者...HttpWebRequest通常和WebResponse一起使用,一个发送请求,一个获取数据。HttpWebRquest更为底层一些,能够对整个访问过程有个直观的认识,但同时也更加复

    java实现读取证书访问https接口

    java实现读取证书访问https接口并获取返回数据.证书格式cer,der,crt等。

    精通ANDROID 3(中文版)1/2

    23.5 使用操作键和应用程序特有的搜索数据  23.5.1 在Android搜索中使用操作键  23.5.2 使用应用程序特定的搜索上下文  23.6 资源  23.7 对平板电脑的意义  23.8 小结  第24章 文本到语音转换  24.1 ...

    精通Android 3 (中文版)2/2

    23.5 使用操作键和应用程序特有的搜索数据  23.5.1 在Android搜索中使用操作键  23.5.2 使用应用程序特定的搜索上下文  23.6 资源  23.7 对平板电脑的意义  23.8 小结  第24章 文本到语音转换  24.1 ...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    Android典型技术模块开发详解

    10.6.3 使用ContentResolver操作ContentProvider中的数据 10.7 本章小结 第11章 网络通信 11.1 TCP协议 11.1.1 服务端的创建 11.1.2 客户端创建 11.2 UDP协议 11.2.1 服务端的创建 11.2.2 客户端创建 11.3 ...

    go-http-stream-reader:在 Go 中使用长时间运行的 HTTP 流(例如 Twitter 流 API)

    它是什么? go-http-stream-reader 使 Go 应用程序能够使用长时间运行的 HTTP 请求流,例如 。 如果出现错误(例如临时... 如果需要,设置HttpClient 、 HttpRequest或Headers属性以修改连接行为(例如,使用自定义

    java开源包8

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java开源包1

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包11

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包2

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包3

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包6

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包5

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包10

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包4

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包7

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包9

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

Global site tag (gtag.js) - Google Analytics