想开发一个在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数据服务进行数据操作示例工程,博客地址: http://blog.csdn.net/supermapsupport/article/details/71107998
在Java中,还可以使用`HttpURLConnection`类进行更复杂的HTTP操作,比如发送POST请求、设置请求头等。`HttpURLConnection`是`URLConnection`的子类,专门处理HTTP协议。 例如,发送一个POST请求: ```java ...
Java访问WCF服务是跨平台...以上就是使用Java HttpClient访问WCF服务的基本知识,实际应用中可能需要根据具体服务接口和需求进行调整。文件"java4Wcf"可能包含完整的示例代码或更详细的步骤,建议结合该文件深入学习。
然后,在`testUtils.java`中,可能包含了一些测试和辅助函数,比如创建`HttpsURLConnection`或`HttpClient`实例,设置SSL上下文,以及进行HTTP请求的逻辑: ```java public class TestUtils { public static ...
综上所述,Java禁止直接URL访问图片涉及多个方面,包括Web服务器配置、Java Servlet、权限验证、过滤器、防盗链技术以及CDN的使用等,这些都需要开发者深入理解和灵活运用。通过这些手段,我们可以有效地保护网络...
Java发送HTTP请求是进行网络通信的基本操作之一,广泛应用于数据获取、API调用等场景。在Java中,Apache HttpClient库是一个强大的工具,它允许开发者高效、灵活地处理HTTP请求。这个"java-http请求jar包"实际上就是...
- 如果需要并行访问多个页面,可以使用ExecutorService创建线程池进行并发处理。 10. **模拟登录**: - 对于需要登录才能访问的页面,可能需要先模拟登录过程,这通常涉及发送登录请求,处理验证码,保存登录后的...
本文将详细介绍如何使用 Java 程序访问 Net WebService,包括 Net WebService 的创建、发布和访问等内容。 一、 Net WebService 的创建 首先,我们需要使用 C# 创建一个简单的 Net WebService。下面是一个简单的...
在Java编程中,访问网页内容是一项常见的任务,通常我们使用HttpClient类来实现这一功能。HttpClient是Apache HttpClient库的核心类,它提供了丰富的API用于构建复杂的HTTP客户端应用。这篇博客(原文链接:...
java访问domino,通过http访问Domino,java快速访问Domino,java集成lotus domino 完全提供源码 界面请查阅 https://blog.csdn.net/weijia3624/article/details/113108704
本示例介绍的是如何使用Java来访问由C#编写的WebService服务。WebService是一种基于互联网的、平台无关的通信机制,它允许不同系统间的应用程序通过网络进行交互。 首先,我们需要理解WebService的基本原理。...
本文将详细介绍如何使用Java语言来调用HTTP REST接口,并提供具体的POST与GET请求的实现示例。 #### 二、HTTP REST简介 REST (Representational State Transfer) 是一种设计网络应用程序的架构风格,其核心原则之...
在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在网络应用开发中。...本篇将详细介绍如何在Java中实现这一功能,特别是在遇到需要下载证书的...在测试环境中,可以临时使用信任所有证书的方法进行调试。
这个是我自己集成框架的时候写的一个HTTP请求的辅助类,主要是通过HttpURLConnection 来实现JAVA的HTTP请求,有的人会问、为什么有些网站发请求没问题,有些网站发请求却返回数据,在给网站发送请求的时候,请看清楚...
Java是一种广泛使用的编程语言,尤其在开发Web应用和网络服务方面。在Java中,访问网络资源是通过标准的Java API实现的,其中`java.net.URL`类和`java.net.URLConnection`类扮演了核心角色。本文将深入探讨这两个类...
本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...
利用java模拟http访问,具有超时限制的模拟web访问,利用jdk1.5线程实现,运行环境jdk1.5+
在Java编程中,HTTP并发访问是一项重要的技术,用于提高应用程序的性能和响应速度。当我们需要从服务器获取大量数据或者执行批量操作时,并发访问能够显著减少整体的等待时间。本项目提供了一个用Java语言实现的HTTP...