`
秦朝古月
  • 浏览: 227204 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Java进行Http访问

    博客分类:
  • Java
阅读更多
想开发一个在Android上运行的客户端程序,首先要学会怎么用Java进行Http访问。
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
  • 实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
  • 支持自动转向
  • 支持 HTTPS 协议
  • 支持代理服务器等

下载地址:http://jakarta.apache.org/commons/httpclient/downloads.html

一个进行Http访问的例子。
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.URIException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.httpclient.util.URIUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

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

public final class HttpTookit {
    private static Log log = LogFactory.getLog(HttpTookit.class);

    public static String doGet(String url, String queryString) {
        String response = null;
        HttpClient client = new HttpClient();
        HttpMethod method = new GetMethod(url);
        try {
            if (StringUtils.isNotBlank(queryString))
                method.setQueryString(URIUtil.encodeQuery(queryString));
            client.executeMethod(method);
            if (method.getStatusCode() == HttpStatus.SC_OK) {
                response = method.getResponseBodyAsString();
            }
        } catch (URIException e) {
            log.error("执行HTTP Get请求时,编码查询字符串“" + queryString + "”发生异常!", e);
        } catch (IOException e) {
            log.error("执行HTTP Get请求" + url + "时,发生异常!", e);
        } finally {
            method.releaseConnection();
        }
        return response;
    }

    public static String doPost(String url, Map<String, String> params) {
        String response = null;
        HttpClient client = new HttpClient();
        HttpMethod method = new PostMethod(url);
        for (Iterator it = params.entrySet().iterator(); it.hasNext();) {
        }
        if (params != null) {
        	HttpMethodParams p = new HttpMethodParams();
            for (Map.Entry<String, String> entry : params.entrySet()) {
                p.setParameter(entry.getKey(), entry.getValue());
            }
            method.setParams(p);
        }
        try {
            client.executeMethod(method);
            if (method.getStatusCode() == HttpStatus.SC_OK) {
                response = method.getResponseBodyAsString();
            }
        } catch (IOException e) {
            log.error("执行HTTP Post请求" + url + " 时,发生异常!", e);
        } finally {
            method.releaseConnection();
        }
        return response;
    }

    public static void main(String[] args) {
        String x = doGet("http://ilgnep.tk", "");
        System.out.println(x);
    }
}

下一步就是实现认证了。
参考
http://www.ibm.com/developerworks/cn/opensource/os-httpclient/
http://lavasoft.blog.51cto.com/62575/168276
分享到:
评论

相关推荐

    使用iServer JAVA API访问iServer数据服务进行数据操作示例工程

    使用iServer JAVA API访问iServer数据服务进行数据操作示例工程,博客地址: http://blog.csdn.net/supermapsupport/article/details/71107998

    java 使用URL访问网页

    在Java中,还可以使用`HttpURLConnection`类进行更复杂的HTTP操作,比如发送POST请求、设置请求头等。`HttpURLConnection`是`URLConnection`的子类,专门处理HTTP协议。 例如,发送一个POST请求: ```java ...

    java 访问 wcf 示例(使用的HttpClient)

    Java访问WCF服务是跨平台...以上就是使用Java HttpClient访问WCF服务的基本知识,实际应用中可能需要根据具体服务接口和需求进行调整。文件"java4Wcf"可能包含完整的示例代码或更详细的步骤,建议结合该文件深入学习。

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

    然后,在`testUtils.java`中,可能包含了一些测试和辅助函数,比如创建`HttpsURLConnection`或`HttpClient`实例,设置SSL上下文,以及进行HTTP请求的逻辑: ```java public class TestUtils { public static ...

    java禁止直接url访问图片

    综上所述,Java禁止直接URL访问图片涉及多个方面,包括Web服务器配置、Java Servlet、权限验证、过滤器、防盗链技术以及CDN的使用等,这些都需要开发者深入理解和灵活运用。通过这些手段,我们可以有效地保护网络...

    java-http请求jar包

    Java发送HTTP请求是进行网络通信的基本操作之一,广泛应用于数据获取、API调用等场景。在Java中,Apache HttpClient库是一个强大的工具,它允许开发者高效、灵活地处理HTTP请求。这个"java-http请求jar包"实际上就是...

    java模拟微信浏览器访问.rar

    - 如果需要并行访问多个页面,可以使用ExecutorService创建线程池进行并发处理。 10. **模拟登录**: - 对于需要登录才能访问的页面,可能需要先模拟登录过程,这通常涉及发送登录请求,处理验证码,保存登录后的...

    用Java程序访问Net WebService.doc

    本文将详细介绍如何使用 Java 程序访问 Net WebService,包括 Net WebService 的创建、发布和访问等内容。 一、 Net WebService 的创建 首先,我们需要使用 C# 创建一个简单的 Net WebService。下面是一个简单的...

    Java中访问页面的HttpClient类

    在Java编程中,访问网页内容是一项常见的任务,通常我们使用HttpClient类来实现这一功能。HttpClient是Apache HttpClient库的核心类,它提供了丰富的API用于构建复杂的HTTP客户端应用。这篇博客(原文链接:...

    java访问domino,通过http访问Domino,java快速访问Domino,java集成lotus domino

    java访问domino,通过http访问Domino,java快速访问Domino,java集成lotus domino 完全提供源码 界面请查阅 https://blog.csdn.net/weijia3624/article/details/113108704

    普通java访问c# webService

    本示例介绍的是如何使用Java来访问由C#编写的WebService服务。WebService是一种基于互联网的、平台无关的通信机制,它允许不同系统间的应用程序通过网络进行交互。 首先,我们需要理解WebService的基本原理。...

    Java 调用Http Rest接口 例子说明

    本文将详细介绍如何使用Java语言来调用HTTP REST接口,并提供具体的POST与GET请求的实现示例。 #### 二、HTTP REST简介 REST (Representational State Transfer) 是一种设计网络应用程序的架构风格,其核心原则之...

    java访问https网址下载文件

    在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在网络应用开发中。...本篇将详细介绍如何在Java中实现这一功能,特别是在遇到需要下载证书的...在测试环境中,可以临时使用信任所有证书的方法进行调试。

    JAVA实现HTTP请求

    这个是我自己集成框架的时候写的一个HTTP请求的辅助类,主要是通过HttpURLConnection 来实现JAVA的HTTP请求,有的人会问、为什么有些网站发请求没问题,有些网站发请求却返回数据,在给网站发送请求的时候,请看清楚...

    java访问网络资源

    Java是一种广泛使用的编程语言,尤其在开发Web应用和网络服务方面。在Java中,访问网络资源是通过标准的Java API实现的,其中`java.net.URL`类和`java.net.URLConnection`类扮演了核心角色。本文将深入探讨这两个类...

    JAVA 统计网站的访问量PV,UV

    这篇文章将详细介绍如何使用Java来统计网站的访问量,包括PV和UV的计算方法。 PV(页面浏览量)是指用户在网站上每打开一次页面就被计数一次,它反映了网站的总浏览次数。例如,如果一个用户在同一页面上刷新了三次...

    java访问.net webservice获取与设置cookie

    本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...

    java模拟web访问

    利用java模拟http访问,具有超时限制的模拟web访问,利用jdk1.5线程实现,运行环境jdk1.5+

Global site tag (gtag.js) - Google Analytics