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

HttpClient简单示例

 
阅读更多

源自http://www.ibm.com/developerworks/cn/opensource/os-httpclient/

 

 

package com.xiva.test.httpclient;

import java.io.IOException;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class HttpClientMain {

    private static HttpClient httpClient = new HttpClient();

    public static void getMethodDemo() throws IOException {

        GetMethod getMethod = new GetMethod("http://www.ibm.com/");
        getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
                new DefaultHttpMethodRetryHandler());

        // 执行getMethod
        int statusCode = 0;
        try {
            statusCode = httpClient.executeMethod(getMethod);
        } catch (HttpException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (statusCode != HttpStatus.SC_OK) {
            System.err.println("Method failed: " + getMethod.getStatusLine());
        }

        byte[] responseBody = getMethod.getResponseBody();

        getMethod.releaseConnection();

        System.out.println(new String(responseBody));
    }

    public static void postMethodDemo() throws IOException {
        
        String url = "http://xiva.iteye.com/login";
        PostMethod postMethod = new PostMethod(url);
        
        // 填入各个表单域的值
        NameValuePair[] data = { new NameValuePair("authenticity_token", "ByoUb/Sn49tKYhCobMHFXUFnGSEtshm9F70naUAkdms="),
                new NameValuePair("name", ""), 
                new NameValuePair("password", ""), 
                new NameValuePair("button", "登 录") };
        
        // 将表单的值放入postMethod中
        postMethod.setRequestBody(data);
        
        // 执行postMethod
        int statusCode = httpClient.executeMethod(postMethod);
        
        // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
        // 301或者302
        if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
                || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
            
            // 从头中取出转向的地址
            Header locationHeader = postMethod.getResponseHeader("location");
            String location = null;
            if (locationHeader != null) {
                location = locationHeader.getValue();
                System.out.println("The page was redirected to:" + location);
            } else {
                System.err.println("Location field value is null.");
            }
            return;
        }
        else
        {
            byte[] responseBody = postMethod.getResponseBody();
            System.out.println(statusCode);
            System.out.println(new String(responseBody));
        }
    }

    public static void main(String[] args) throws IOException {
        
//        getMethodDemo();
        postMethodDemo();
    }
}
 

http://mirror.bjtu.edu.cn/apache//james/mime4j/apache-mime4j-0.7.2-bin.zip

 

 

分享到:
评论

相关推荐

    httpclient简单示例说明

    在IT行业中,HttpClient是一个非常重要的工具,特别是在网络编程和API交互...以上就是关于HttpClient简单示例的说明。通过学习和实践,你可以更好地掌握HttpClient的使用,为你的项目提供稳定可靠的网络通信解决方案。

    httpclient简单示例

    在这个简单的示例中,我们将探讨如何使用HTTPClient进行基本的GET和POST请求。 首先,要使用HTTPClient,你需要在项目中引入相应的依赖。对于Java项目,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: `...

    HttpClient使用示例教程

    以下是一个简单的使用示例: ```java import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache....

    HttpClient 调用WebService示例

    HttpClient是Apache基金会开发的一个HTTP客户端库,广泛应用于Java开发者中,用于执行HTTP...对于RESTful API,使用HttpClient则更为简单,只需构造合适的URL和请求体,然后按照HTTP方法(如GET、POST)进行操作即可。

    commons-httpclient-3.1 java API详细index格式文档

    `BasicCookieStore`是简单的内存实现。 六、安全通信与认证 1. `SSLContext`和`SSLSocketFactory`:用于配置和创建SSL/TLS连接,支持HTTPS通信。 2. `Credentials`和`AuthScope`:处理HTTP认证,`...

    HttpClient的小例子

    这个小例子中提供的项目源码应该包含了上述操作的示例代码,你可以直接导入并运行,以了解HttpClient的具体使用。通过学习和实践,你将能熟练掌握HttpClient在实际项目中的应用,如进行网页抓取、API调用等任务。

    HttpClient接口调用工具类(附带demo)

    最后,通过`HttpClient`的`execute`方法发送请求并获取响应。 2. **Get请求**: Get请求是最简单的HTTP请求,用于从服务器获取资源。HttpClient中的`HttpGet`类可以用来创建GET请求。只需提供URL作为构造函数的...

    spring boot封装HttpClient的示例代码

    Spring Boot 封装 HttpClient ...Spring Boot 提供了一个简单的方式来封装 HttpClient,用于实现请求重试机制和处理异常情况。同时,我们也可以使用 @Bean 注解将 HttpClient 封装成一个 Bean,用于在应用程序中使用。

    简单的httpClient访问

    这篇名为“简单的httpClient访问”的博文可能是介绍如何使用HttpClient进行基础的HTTP请求。HttpClient库提供了丰富的功能,包括GET、POST请求,设置请求头,处理响应,以及支持HTTPS等。接下来,我们将深入探讨...

    HttpClient包及例子

    压缩包中的`httpclient-4.0-alpha2.jar`文件包含了HttpClient库的所有类和方法,而`examples`文件可能包含了一些使用HttpClient的示例代码,帮助开发者更好地理解和使用这个库。通过这些示例,你可以学习如何构建...

    httpclient官网教程中文版

    - **灵活性**:与标准库提供的简单HTTP支持相比,HttpClient提供了更多高级特性,比如Cookie管理和自动重定向等,使得开发者可以更灵活地控制HTTP交互行为。 ##### 2.2 HttpClient的功能范围 - **HTTP协议支持**:...

    httpClient实例httpClient调用 http/https实例 忽略SSL验证

    要创建一个简单的HttpClient实例,你需要以下步骤: 1. 引入Apache HttpClient库: 在你的项目中,确保已经添加了Apache HttpClient的依赖。例如,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...

    HttpClient的简单使用,get、post、上传、下载

    以下是一个简单的Servlet示例,用于处理文件上传: ```java @WebServlet("/upload") public class UploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse ...

    HttpClient框架所需的jar包和一个简单实例

    以下是一个简单的HttpClient使用示例: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org....

    httpclient4.2.1.zip

    《HttpClient 4.2.1:Java开发中的HTTP通信利器》 在Java开发领域,HttpClient是一个广泛使用的库,...无论是简单的GET请求还是复杂的POST操作,HttpClient都能游刃有余,为Java应用程序的网络通信带来极大的便利。

    commons-httpclient-3.0.jar JAVA中使用HttpClient可以用到

    总结,`commons-httpclient-3.0.jar`在JAVA中的应用,不仅提供了一种简单易用的HTTP客户端实现,还具有丰富的特性和扩展性,对于理解和实现网络通信具有重要的学习价值。然而,随着技术的进步,开发者应关注并适时...

    HttpClient3.1 学习整理

    为了更好地理解HttpClient3.1的使用,以下是一个简单的示例,展示了如何使用GET方法获取网页内容: ```java import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods....

    HttpClient4.5全部jar包+简单实例

    这个压缩包包含了HttpClient 4.5所需的全部jar包,以及一个简单的实例`PTXCheckTools.java`,方便用户快速理解和应用。 HttpClient库的核心功能包括: 1. **HTTP协议支持**:HttpClient支持HTTP/1.1和HTTP/2协议,...

    Commons HTTPClient4.X组件应用示例

    ##### 5.2 示例代码 ```java import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; public class HttpClientExample { public static void main(String[] ...

Global site tag (gtag.js) - Google Analytics