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

Apache的httpclient的简单使用

阅读更多

由于httpclient的每个版本及每次更新都会有或多或少的改变,所以本人建议所有的使用httpclient的新手一定要仔细查看官方给出的examples,这会给我们省去很多麻烦,一般如果是二进制文件的话,examples在httpcomponents-client-4.5.2-bin\httpcomponents-client-4.5.2\examples\org\apache\http\examples\client这样类似的目录下,如果是源文件目录路径也基本不变,最基本的就是quickstart.java这个文件,基本内容大致如下:

package org.apache.http.examples.client;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class QuickStart {

    public static void main(String[] args) throws Exception {
        CloseableHttpClient httpclient = HttpClients.createDefault();
        try {
            HttpGet httpGet = new HttpGet("http://httpbin.org/get");
            CloseableHttpResponse response1 = httpclient.execute(httpGet);
            // The underlying HTTP connection is still held by the response object
            // to allow the response content to be streamed directly from the network socket.
            // In order to ensure correct deallocation of system resources
            // the user MUST call CloseableHttpResponse#close() from a finally clause.
            // Please note that if response content is not fully consumed the underlying
            // connection cannot be safely re-used and will be shut down and discarded
            // by the connection manager.
            try {
                System.out.println(response1.getStatusLine());
                HttpEntity entity1 = response1.getEntity();
                // do something useful with the response body
                // and ensure it is fully consumed
                EntityUtils.consume(entity1);
            } finally {
                response1.close();
            }

            HttpPost httpPost = new HttpPost("http://httpbin.org/post");
            List <NameValuePair> nvps = new ArrayList <NameValuePair>();
            nvps.add(new BasicNameValuePair("username", "vip"));
            nvps.add(new BasicNameValuePair("password", "secret"));
            httpPost.setEntity(new UrlEncodedFormEntity(nvps));
            CloseableHttpResponse response2 = httpclient.execute(httpPost);

            try {
                System.out.println(response2.getStatusLine());
                HttpEntity entity2 = response2.getEntity();
                // do something useful with the response body
                // and ensure it is fully consumed
                EntityUtils.consume(entity2);
            } finally {
                response2.close();
            }
        } finally {
            httpclient.close();
        }
    }

}

 

分享到:
评论

相关推荐

    apache httpclient jar包

    这个jar包是Apache HttpClient的4.1.3版本,发布于2012年,是HttpClient的一个稳定版本。 在Apache HttpClient 4.1.3中,包含了以下关键知识点: 1. **HTTP方法支持**:HttpClient 支持HTTP协议的各种方法,如GET...

    apache HttpClient jar包

    这个jar包是Apache HttpClient的核心组件,广泛应用于各种Java应用程序,尤其是那些需要与Web服务进行交互的场景。 在Apache HttpClient中,你可以: 1. **创建HTTP请求**:HttpClient允许你轻松地构造GET、POST...

    apache-httpclient应用所有jar

    在本文中,我们将深入探讨HttpClient的核心概念、主要功能以及如何使用它来实现网络爬虫。 **HttpClient 主要特点** 1. **异步和同步API**: HttpClient 提供了同步和异步两种API,以适应不同的应用场景。同步API...

    网络爬虫 apache HttpClient

    在阅读博文《网络爬虫 apache HttpClient》时,作者可能详细介绍了如何初始化HttpClient实例,设置请求参数,处理响应,以及如何利用HttpClient进行多线程爬虫开发。文章可能还会涵盖一些实战案例,比如抓取特定网站...

    org.apache.commons.httpclient相关资源包

    在标题"org.apache.commons.httpclient相关资源包"中,我们可以看出这是关于使用Apache HttpClient进行HTTP通信的知识点。Apache HttpClient库是Apache软件基金会的一个项目,它提供了对HTTP协议的全面支持,包括GET...

    org.apache.commons.httpclient-3.1.jar

    - `LICENSE.txt`:包含了Apache Commons HttpClient的许可协议,它遵循Apache 2.0许可证,允许免费使用和修改源代码。 - `README.txt`:一般提供了项目的简介和快速入门指南。 - `NOTICE.txt`:通常列出库中可能包含...

    org.apache.commons.httpclient 远程下载文件

    此外,Apache HttpClient库已经被弃用,现在推荐使用Java 7及更高版本内置的`java.net.HttpURLConnection`或更现代的库如Apache HttpClient 4.x或OkHttp。不过,对于理解HTTP客户端编程的基本原理,HttpClient仍然是...

    java.net.URLConnection发送HTTP请求与通过Apache HttpClient发送HTTP请求比较

    有两种常见的方法:一是使用`java.net.URLConnection`类,二是通过Apache HttpClient库。这篇文章将对比这两种方法,探讨它们的优缺点以及适用场景。 `java.net.URLConnection`是Java标准库中的一个类,可以直接...

    httpclient简单使用

    本教程将基于标题"HTTPClient简单使用"和提供的文件`HttpService`、`HttpClient`来阐述HTTPClient的基本使用方法。 1. **HTTPClient简介** HTTPClient是Apache的 HttpClient库,它为Java开发者提供了全面的HTTP...

    org.apache.commons.httpclient

    使用HttpClient,你可以创建一个`HttpClient`实例,然后配置各种参数,如连接超时、重试策略、Cookie管理等。此外,`HttpMethod`接口定义了HTTP方法,如`HttpGet`、`HttpPost`,它们可以用来构造具体请求。 在HTTP...

    httpClient官方文档

    Apache HttpClient 是一个提供 HTTP 协议客户端功能的开源库,它是 Apache Jakarta Commons 下的一个项目。HttpClient 的功能包括但不限于 HTTP 请求的执行、响应的处理、连接管理、异常处理、协议拦截器以及重定向...

    使用HttpClient下载图片

    HttpClient是个很不错的开源框架(org.appache.http),封装了访问http的请求头,参数,内容体,响应等等,使用起来更方面更强大。 HttpURLConnection是java的标准类,可以实现简单的基于URL请求、响应功能,什么都...

    最新org.apache.commons.httpclient.rar

    3. **使用方式**:在项目中引入`org.apache.commons.httpclient-3.1.0.jar`后,可以通过创建`HttpClient`实例,配置各种参数,然后调用`executeMethod`方法来发送HTTP请求。例如,发送一个GET请求: ```java ...

    httpclient-4.5所需jar包

    例如,创建HttpClient实例,设置请求参数,发送请求并处理响应,所有这些操作都可以通过简单的API调用来完成,大大简化了网络编程的工作。此外,HTTPClient还提供了连接池管理,可以在多个请求之间重用连接,进一步...

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

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

    commons-httpclient,java中使用httpclient中使用的扩展工具

    同时,注意HttpClient库已经不再更新,对于新的Java项目,推荐使用现代化的HTTP客户端库,如Apache HttpClient的后继者Apache HTTP Components HttpClient 4.x系列,或者使用Java标准库的`java.net.http.HttpClient`...

    httpClient组件使用说明

    本篇文章将详细讲解HttpClient的使用方法,包括如何搭建环境、所需的jar包、基本应用以及实例演示,旨在帮助初级学员快速掌握HttpClient的基础操作。 一、环境搭建 在使用HttpClient之前,首先需要在项目中引入...

Global site tag (gtag.js) - Google Analytics