`

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的入门实例

    NULL 博文链接:https://jilongliang.iteye.com/blog/1275107

    HttpClient实例+必备3个jar包

    一个java web project的压缩包。 里面是一个标准的httpclient测试类。 包含3个必备的jar包。 导入myeclipse即可使用。

    C#HTTPclient 实例应用

    学习C#必经之路,入门级知识总结,笔记本知识概况,走一步再走一步

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    spring+struts+hibernate+dwr+jstl做的实例

    以用户管理为例,结合spring struts hibernate dwr jstl做的实例,struts hibernate dwr 与Spring完全结合,实现用户列表、信息增、删、改、查、维护时用户重名提示等功能,还包括页面自动转码设置(web.xml),...

    line-bot-sdk-php:适用于PHP的LINE Messaging API SDK

    介绍 ... 文献资料 有关更多信息,请参见官方API文档。 英文: : 日语: : 要求 ...使用安装LINE Messaging API SDK。... $ composer require linecorp/line-bot-sdk ... 机器人客户端的构造函数需要HTTPClient的实例。 默

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    cargo:Go依赖注入容器,可促进低耦合和控制反转

    第一个假设您已经有一个指向要使用的对象实例的指针,第二个需要定义。 假设您有一个对象: type HttpClient struct {} client := new ( HttpClient ) 要将其定义为服务,您需要做的是: dic := container . N

    parseq:异步Java更容易

    入门实例 在这个例子中,我们展示了如何并行获取多个页面,以及如何在它们全部被检索后将它们合并。 您可以在这里找到源代码: 。 首先,我们可以使用检索单个页面,如下所示: final Task&lt; Response&gt; google = ...

    java开源包1

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包2

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包3

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包6

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包5

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包10

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包8

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包7

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包9

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

Global site tag (gtag.js) - Google Analytics