`
pan_java
  • 浏览: 285633 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

commons httpclient 工具类 代码总结

阅读更多
发送Get请求
public class TestA {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		
		
		HttpClient client = new HttpClient( );

        String url = "http://www.discursive.com/cgi-bin/jccook/param_list.cgi";

        HttpMethod method = new GetMethod( url );

 		//设置请求参数同时给参数编码
        method.setQueryString(URIUtil.encodeQuery("test1=O Reilly&blah=Whoop"));

		System.out.println( "With Query String: " + method.getURI( ) );

		client.executeMethod( method );

		System.out.println( "Response:\n " + method.getResponseBodyAsString( ) );

		method.releaseConnection( );

	}

}



设置相关Header信息
    private void setHeaders(HttpMethod method) {

        method.setRequestHeader(new Header("If-None-Match", entityTag ) );

        method.setRequestHeader(new Header("If-Modified-Since", 

                               lastModified ) );

    }


发送POST请求

HttpClient client = new HttpClient( );

        

// Create POST method

String url = "http://www.discursive.com/cgi-bin/jccook/param_list.cgi";

PostMethod method = new PostMethod( url );



// Set parameters on POST    

method.setParameter( "test1", "Hello World" );

method.addParameter( "test2", "This is a Form Submission" );

method.addParameter( "Blah", "Whoop" );

method.addParameter( new NameValuePair( "Blah", "Whoop2" ) );



// Execute and print response

client.executeMethod( method );

String response = method.getResponseBodyAsString( );

System.out.println( response );



method.releaseConnection( );


POST请求发送一个文件

HttpClient client = new HttpClient( );

        

// Create POST method

String weblintURL = "http://ats.nist.gov/cgi-bin/cgi.tcl/echo.cgi";

PostMethod method = new PostMethod( weblintURL );



File file = new File( "project.xml" );

method.setRequestBody( new FileInputStream( file ) );

method.setRequestContentLength( (int)file.length( ) );



// Execute and print response

client.executeMethod( method );

String response = method.getResponseBodyAsString( );

System.out.println( response );



method.releaseConnection( );


POST请求上传多个文件
HttpClient client = new HttpClient( );

        

// Create POST method

String weblintURL = "http://ats.nist.gov/cgi-bin/cgi.tcl/echo.cgi";

MultipartPostMethod method = 

    new MultipartPostMethod( weblintURL );



File file = new File( "data", "test.txt" );

File file2 = new File( "data", "sample.txt" );

method.addParameter("test.txt", file );

method.addPart( new FilePart( "sample.txt", file2, "text/plain", 

"ISO-8859-1" ) ); 



// Execute and print response

client.executeMethod( method );

String response = method.getResponseBodyAsString( );

System.out.println( response );



method.releaseConnection( );


访问需要认证的系统
HttpClient client = new HttpClient( );

HttpState state = client.getState( );

    

// Set credentials on the client

Credentials credentials =

     new UsernamePasswordCredentials( "testuser", "crazypass" );

state.setCredentials( null, null, credentials );



String url = "http://www.discursive.com/jccook/auth/";

HttpMethod method = new GetMethod( url );

    

client.executeMethod( method );

String response = method.getResponseBodyAsString( );



System.out.println( response );

method.releaseConnection( );



请求添加Cookie
HttpClient client = new HttpClient( );

Cookie cookie = new Cookie(".discursive.com", "test_cookie", 

                           "hello", "/", null, false );

client.getState( ).addCookie( cookie );
分享到:
评论

相关推荐

    commons-httpclient.rar

    1. **导入依赖**:将Apache Commons HttpClient相关的JAR文件添加到项目的类路径中。 2. **创建HttpClient实例**:根据项目需求初始化HttpClient对象,可以设置连接参数、重试策略等。 3. **构建HttpGet/HttpPost...

    commons-httpclient-3.1jar包

    总的来说,Apache Commons HttpClient 3.1是Java开发中处理HTTP通信的强大工具,虽然现在已经有了更新的版本,但3.1版本在许多项目中仍被广泛使用,其稳定性和兼容性得到了充分验证。了解和掌握HttpClient的使用,...

    org.apache.commons.httpclient-3.1.jar

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

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

    Apache Commons HttpClient 3.1的apidocs提供了详细的类和方法文档,帮助开发者理解和使用这个库。例如,你可以通过`GetMethod`实例化并调用`execute()`方法来发送GET请求,通过`HttpPost`设置`NameValuePair`列表并...

    commons-httpclient-3.0.jar

    6. **源码可用**:在提供的"commons-httpclient-3.0-sources.jar"中,包含了HttpClient 3.0的源代码,这对于开发者理解和调试代码,以及扩展和定制功能非常有帮助。 7. **与其他Apache Commons组件的集成**:...

    org.apache.commons.httpclient相关架包

    标题中的"org.apache.commons.httpclient相关架包"指的是这个库的一系列组件,主要包含在`httpclient.jar`文件中。这个JAR文件包含了HttpClient库的所有必需类和资源,可以被导入到Java项目中以实现HTTP通信功能。 ...

    org.apache.commons.httpclient

    总的来说,Apache Commons HttpClient是一个强大的工具,提供了丰富的功能来处理HTTP通信。通过学习提供的使用例子,阅读文档,以及理解这个库的API,开发者可以构建稳定且高效的网络应用程序。

    commons-httpclient.zip

    "commons-httpclient.zip" 文件很可能是 Apache Commons HttpClient 库的源代码或二进制包的压缩形式。 Apache Commons HttpClient 提供了丰富的功能,包括但不限于: 1. **HTTP 协议支持**:HttpClient 支持 ...

    Commons-HTTPClient组件介绍与使用

    Apache Commons HttpClient 是一个强大的Java库,它为开发者提供了高级、高效和功能丰富的HTTP客户端编程工具。这个组件是在Apache Jakarta Commons项目下开发的,专门设计来简化HTTP客户端与服务器之间的通信。...

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

    implementation 'commons-httpclient:commons-httpclient:3.1' } ``` 接下来,我们创建一个简单的Java类,例如`ServletTest.java`,来演示如何下载远程文件。在这个例子中,我们将实现一个方法`downloadFile`,该...

    commons-httpclient3.1.jar,commons-codec1.3.jar,commons-logging1.1.1.jar

    标题中的"commons-httpclient3.1.jar,commons-codec1.3.jar,commons-logging1.1.1.jar"指的是三个关键的Java库文件,它们是Apache HttpClient项目的一部分,用于在Java应用程序中实现HTTP通信。这些JAR(Java ...

    commons-httpclient-3.1.jar

    而Commons Logging是一个日志抽象层,允许开发者选择不同的日志实现,提高了代码的可移植性和可维护性。 总的来说,Apache HttpClient 3.1是Java开发中不可或缺的工具,它为开发者提供了强大的HTTP通信能力。然而,...

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

    在Java项目中,如果你需要发送GET、POST或其他HTTP请求,或者处理响应,那么Apache Commons HttpClient是一个值得考虑的工具。 HttpClient库的核心类包括`HttpClient`,它是一个HTTP客户端的抽象,以及`HttpMethod`...

    commons-httpclient-3.0-rc2.jar.zip

    总结来说,Apache Commons HttpClient 3.0-rc2是Java开发者实现Web服务接口通信的得力助手。它的强大功能、灵活性和易用性,使其在各种项目中都得到了广泛应用。通过深入理解和熟练使用这个库,开发者可以更高效地...

    apache-commons-httpclient.jar

    尽管Apache Commons HttpClient在新的开发中已被推荐使用更现代的Apache HTTP Components替代,但在一些老项目或特定场景下,它仍然是一个实用的工具。然而,需要注意的是,由于其不再更新,可能存在安全漏洞和兼容...

    commons-httpclient-3.1-rc1.jar ,commons-logging.jar

    在项目中集成HttpClient,通常需要将`commons-httpclient-3.1-rc1.jar`添加到项目的类路径中,然后通过创建HttpClient实例,设置必要的配置,并调用相关方法发起HTTP请求。 接下来是`commons-logging.jar`,它是...

    ApacheCommons-HTTPClient组件的应用.doc

    由于JDK内置的java.net.URL和URLConnection类在功能上可能不足以满足复杂的需求,Commons-HTTPClient 提供了更为丰富和灵活的功能。 HttpClient 支持HTTP 1.0和1.1协议的全部方法,包括GET、POST、PUT、DELETE、...

    commons-httpclient可用包

    总的来说,Apache Commons HttpClient 3.1和Commons Codec 1.6是针对Java HTTP客户端编程的老版本工具,虽然现在有更现代的替代品,但它们在处理特定需求或兼容旧代码时仍具有价值。开发者在使用时需要注意它们的...

Global site tag (gtag.js) - Google Analytics