`

HttpClient实例入门

阅读更多

/**
 * 参考http://hc.apache.org/httpclient-3.x/tutorial.html
 */
package com.mytest.httpclient;

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;



/**
 * @author 安徽程
 *
 * 18 Dec, 2011 12:43:45 PM
 */
/**
 * The general process for using HttpClient consists of a number of steps:
 *  1. Create an instance of HttpClient.
 *  2. Create an instance of one of the methods (GetMethod in this case). The URL to connect to is passed in to the the method constructor.
 *  3. Tell HttpClient to execute the method.
 *  4. Read the response.
 *  5. Release the connection.
 *  6. Deal with the response.
 * */
public class HttpClientTutorial {
	
	private final static String URL = "http://www.apache.org/";
	
	
	public static void main(String args[]){
	/*创建HttpClient实例*/
	HttpClient client = new HttpClient();
	
	/*创建一个post方法*/
	PostMethod postMethod = new PostMethod(URL);
	
	/*执行post方法*/
	try {
		int statusCode = client.executeMethod(postMethod);
		
		 if (statusCode != HttpStatus.SC_OK) {
		        System.err.println("Method failed: " + postMethod.getStatusLine());
		      }
		 
		 /*获得返回的结果*/
		 byte[] responseBody = postMethod.getResponseBody();
		 
		 System.out.println(new String(responseBody));


	} catch (HttpException e) {
		System.err.println("Fatal protocol violation: " + e.getMessage());
	      e.printStackTrace();

	} catch (IOException e) {
		 System.err.println("Fatal transport error: " + e.getMessage());
	      e.printStackTrace();

	}finally{
		
		  /*Release the connection.*/
	      postMethod.releaseConnection();

	}
	
	}


}
分享到:
评论
5 楼 zhang_ykun 2013-05-14  
请求结果
Method failed: HTTP/1.1 405 Method Not Allowed
奇怪了!什么情况
4 楼 shuzhongxiaogui 2013-03-25  
真的是我少了2个jar包,哈哈~谢谢
3 楼 aliahhqcheng 2013-03-13  
估计是你的HttpClient的jar版本不对,你用的jar需要依赖log4j的jar包,你手工依赖一下就可以解决了,错误信息已经很清楚了。
2 楼 shuzhongxiaogui 2013-03-12  
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:66)
at com.web.test.HttpClientTutorial2.main(HttpClientTutorial2.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 2 more
------------
我跑了一下,报错了,请看看是怎么回事呢?
1 楼 zsw2zkl 2012-10-29  
赞一个 哈哈

相关推荐

    httpclient的入门实例

    1. **创建HttpClient实例**:使用`HttpClientBuilder`或`HttpClients`静态工厂方法创建一个HttpClient实例。 ```java HttpClient httpClient = HttpClients.createDefault(); ``` 2. **构建HttpRequest**:...

    HttpClient实例+必备3个jar包

    在"HttpClient实例+必备3个jar包"的项目中,包含了以下关键知识点: 1. **HttpClient类库**:HttpClient库提供了丰富的API,可以创建复杂的HTTP请求,包括设置请求头、携带请求体、处理重定向、管理Cookie等。通过...

    httpClient4.1入门教程.pdf

    整体而言,本教程深入浅出地介绍了HttpClient 4.1的入门使用方法。它适合那些希望快速掌握HttpClient基本操作的初学者,同时也为那些计划使用HttpClient开发复杂HTTP客户端应用的开发者提供了参考。通过这篇教程,...

    httpClient入门

    1. 创建HttpClient实例,例如使用`HttpClientBuilder`或`HttpClients.custom()`构建。 2. 构建HttpGet请求对象,指定URL,如`HttpGet httpGet = new HttpGet("http://example.com")`。 3. 设置请求头,如果需要的话...

    httpClient4.1入门教程

    这段代码创建了一个HttpClient实例,执行了一个GET请求到指定URL,并打印了响应的状态行。 ### 4. 如何传递参数 对于POST请求,你可以使用`NameValuePair`来传递参数,例如: ```java List&lt;NameValuePair&gt; ...

    HttpClient入门

    1. **创建HttpClient实例**:首先,你需要创建一个HttpClient实例,可以使用`HttpClientBuilder`构建器来定制配置。 2. **构建HttpRequest对象**:根据需求创建HttpRequestBase的子类实例,如HttpGet、HttpPost,...

    httpclient入门必看

    1. 创建HttpClient实例。大部分情况下,HttpClient的默认构造函数即可满足需求,例如:`HttpClient httpClient = new HttpClient();` 2. 初始化GET方法的实例。在GetMethod的构造函数中,传入要访问的URL地址,如:...

    httpClient4.1入门教程.docx

    3. **第一个程序**:创建一个简单的 GET 请求,通常涉及 `HttpClient` 实例化、创建 `HttpGet` 对象、执行请求和处理响应。 4. **如何传递参数**:POST 请求可以通过 `HttpPost` 创建,使用 `NameValuePair` 或 `...

    比较全的httpclient入门介绍和例子代码

    // 创建HttpClient实例 HttpClient httpClient = new HttpClient(); // 创建GET方法并设置URL GetMethod getMethod = new GetMethod("http://www.ibm.com"); // 使用系统提供的默认重试处理器 getMethod....

    HttpClient入门教程全解

    - **创建HttpClient实例**:通常使用`HttpClientBuilder`创建自定义的HttpClient实例,可以设置连接超时、重试策略等。 - **执行GET请求**:使用`HttpGet`对象指定URL,然后通过HttpClient的`execute`方法发送请求...

    HttpClient入门陆小马功钟浩.pdf

    根据提供的文件内容,我们可以梳理出关于HttpClient入门的相关知识点。 首先,HttpClient是一个开源工具,属于Apache组织,用于处理HTTP请求和响应。它不是一个浏览器,不涉及浏览器的客户端缓存等附加功能,它仅是...

    HttpClient中文文档,快速开发

    在使用HttpClient时,首先要创建一个HttpClient实例,然后可以配置连接管理器、重试策略、超时设置等高级特性。例如,`CloseableHttpClient`是HttpClient的主要工作类,我们可以用它来创建请求并发送到服务器。接着...

    HttpClient初级入门

    然后,你可以创建一个`CloseableHttpClient`实例,这是HttpClient的主要工作对象。例如: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); ``` 接下来,你需要构建一个`HttpGet`或`...

    HttpClient

    6. **HttpClientBuilder**:用于构建和配置HttpClient实例的工具类,可以方便地定制各种设置,如超时时间、重试策略等。 在使用HttpClient时,开发者通常需要以下步骤: 1. **配置HttpClient**:通过...

Global site tag (gtag.js) - Google Analytics