发送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 );
分享到:
相关推荐
1. **导入依赖**:将Apache Commons HttpClient相关的JAR文件添加到项目的类路径中。 2. **创建HttpClient实例**:根据项目需求初始化HttpClient对象,可以设置连接参数、重试策略等。 3. **构建HttpGet/HttpPost...
总的来说,Apache Commons HttpClient 3.1是Java开发中处理HTTP通信的强大工具,虽然现在已经有了更新的版本,但3.1版本在许多项目中仍被广泛使用,其稳定性和兼容性得到了充分验证。了解和掌握HttpClient的使用,...
- `LICENSE.txt`:包含了Apache Commons HttpClient的许可协议,它遵循Apache 2.0许可证,允许免费使用和修改源代码。 - `README.txt`:一般提供了项目的简介和快速入门指南。 - `NOTICE.txt`:通常列出库中可能包含...
Apache Commons HttpClient 3.1的apidocs提供了详细的类和方法文档,帮助开发者理解和使用这个库。例如,你可以通过`GetMethod`实例化并调用`execute()`方法来发送GET请求,通过`HttpPost`设置`NameValuePair`列表并...
6. **源码可用**:在提供的"commons-httpclient-3.0-sources.jar"中,包含了HttpClient 3.0的源代码,这对于开发者理解和调试代码,以及扩展和定制功能非常有帮助。 7. **与其他Apache Commons组件的集成**:...
标题中的"org.apache.commons.httpclient相关架包"指的是这个库的一系列组件,主要包含在`httpclient.jar`文件中。这个JAR文件包含了HttpClient库的所有必需类和资源,可以被导入到Java项目中以实现HTTP通信功能。 ...
总的来说,Apache Commons HttpClient是一个强大的工具,提供了丰富的功能来处理HTTP通信。通过学习提供的使用例子,阅读文档,以及理解这个库的API,开发者可以构建稳定且高效的网络应用程序。
"commons-httpclient.zip" 文件很可能是 Apache Commons HttpClient 库的源代码或二进制包的压缩形式。 Apache Commons HttpClient 提供了丰富的功能,包括但不限于: 1. **HTTP 协议支持**:HttpClient 支持 ...
Apache Commons HttpClient 是一个强大的Java库,它为开发者提供了高级、高效和功能丰富的HTTP客户端编程工具。这个组件是在Apache Jakarta Commons项目下开发的,专门设计来简化HTTP客户端与服务器之间的通信。...
implementation 'commons-httpclient:commons-httpclient:3.1' } ``` 接下来,我们创建一个简单的Java类,例如`ServletTest.java`,来演示如何下载远程文件。在这个例子中,我们将实现一个方法`downloadFile`,该...
标题中的"commons-httpclient3.1.jar,commons-codec1.3.jar,commons-logging1.1.1.jar"指的是三个关键的Java库文件,它们是Apache HttpClient项目的一部分,用于在Java应用程序中实现HTTP通信。这些JAR(Java ...
而Commons Logging是一个日志抽象层,允许开发者选择不同的日志实现,提高了代码的可移植性和可维护性。 总的来说,Apache HttpClient 3.1是Java开发中不可或缺的工具,它为开发者提供了强大的HTTP通信能力。然而,...
在Java项目中,如果你需要发送GET、POST或其他HTTP请求,或者处理响应,那么Apache Commons HttpClient是一个值得考虑的工具。 HttpClient库的核心类包括`HttpClient`,它是一个HTTP客户端的抽象,以及`HttpMethod`...
总结来说,Apache Commons HttpClient 3.0-rc2是Java开发者实现Web服务接口通信的得力助手。它的强大功能、灵活性和易用性,使其在各种项目中都得到了广泛应用。通过深入理解和熟练使用这个库,开发者可以更高效地...
尽管Apache Commons HttpClient在新的开发中已被推荐使用更现代的Apache HTTP Components替代,但在一些老项目或特定场景下,它仍然是一个实用的工具。然而,需要注意的是,由于其不再更新,可能存在安全漏洞和兼容...
在项目中集成HttpClient,通常需要将`commons-httpclient-3.1-rc1.jar`添加到项目的类路径中,然后通过创建HttpClient实例,设置必要的配置,并调用相关方法发起HTTP请求。 接下来是`commons-logging.jar`,它是...
由于JDK内置的java.net.URL和URLConnection类在功能上可能不足以满足复杂的需求,Commons-HTTPClient 提供了更为丰富和灵活的功能。 HttpClient 支持HTTP 1.0和1.1协议的全部方法,包括GET、POST、PUT、DELETE、...
总的来说,Apache Commons HttpClient 3.1和Commons Codec 1.6是针对Java HTTP客户端编程的老版本工具,虽然现在有更现代的替代品,但它们在处理特定需求或兼容旧代码时仍具有价值。开发者在使用时需要注意它们的...