`
newleague
  • 浏览: 1508630 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

JAVA实现httpClient实例

    博客分类:
  • http
阅读更多

/* 
 * Created on 2009-10-12 
 * Copyright 2009 by
www.xfok.net. All Rights Reserved 
 * 
 */
package test;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

/** 
 * @author YangHua 
 * 转载请注明出处:
http://www.xfok.net/2009/10/124488.html 
 */
public class MyClient {
 /** 
  *的到Http请求结果 
  * @param url请求地址 
  * @param parms请求参数 
  * @return 
  */
 public byte[] getBody(String url, Map parms) {
  byte[] body = null;
  //构造HttpClient的实例  
  HttpClient httpClient = new HttpClient();
  //创建post方法的实例  
  PostMethod postMethod = new PostMethod(url);
  //填入各个表单域的值  
  NameValuePair[] data = new NameValuePair[parms.keySet().size()];
  Iterator it = parms.entrySet().iterator();
  int i = 0;
  while (it.hasNext()) {
   Map.Entry entry = (Map.Entry) it.next();
   Object key = entry.getKey();
   Object value = entry.getValue();
   data[i] = new NameValuePair(key.toString(), value.toString());
   i++;
  }
 
  //将表单的值放入postMethod中  
  postMethod.setRequestBody(data);
  try {
   //执行postMethod  
   int statusCode = httpClient.executeMethod(postMethod); // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发  
   // 301或者302  
   
   if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
     || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
    //从头中取出转向的地址  
    Header locationHeader = postMethod
      .getResponseHeader("location");
    String location = null;
    if (locationHeader != null) {
     location = locationHeader.getValue();
     System.out.println("The page was redirected to:" + location);
    } else {
     System.err.println("Location field value is null.");
    }
   }
   body = postMethod.getResponseBody();
  
   
  } catch (Exception e) {
   e.printStackTrace();
  }
  return body;
 }

 public static void main(String[] args) {
  String url = "http://www.xfok.net
";
  Map parms = new HashMap();
  MyClient client = new MyClient();
  String result = new String(client.getBody(url, parms));
  System.out.println("-----------"+result);
 }
}

 

相关讨论:

http://www.iteye.com/topic/638206?page=2

 

官方:http://hc.apache.org/downloads.cgi

分享到:
评论

相关推荐

    java实现httpClient样例

    1. **HttpClient的创建**:首先,你需要创建一个HttpClient实例。通常,你会使用`HttpClientBuilder`或`HttpClients`类来构建一个客户端对象。例如: ```java CloseableHttpClient httpClient = HttpClients....

    JavaHttpClient实例

    本实例将深入探讨如何在Java中使用HttpClient进行网络通信。 首先,你需要在项目中引入HttpClient的相关依赖。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.httpcomponents ...

    java实现HttpClient异步请求资源的方法

    本篇文章将详细介绍如何使用Java的HttpClient实现异步请求资源。 首先,让我们了解什么是异步请求。在同步请求中,调用一个API或发送一个HTTP请求后,程序会等待响应返回,然后继续执行后续代码。而异步请求则不同...

    Java 使用HttpClient保持SESSION状态

    1. **创建HttpClient实例**:首先,创建一个HttpClient实例,可以使用`HttpClients.createDefault()`或者自定义配置。 ```java CloseableHttpClient httpClient = HttpClients.createDefault(); ``` 2. **执行登录...

    java 中HttpClient传输xml字符串实例详解

    以下是如何实现这一过程的Java代码: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import java.io.ByteArrayOutputStream; // 定义Page对象 public class Page { private ...

    java使用HttpClient通过url下载文件到本地

    - **创建HttpClient实例**:首先,我们需要创建一个HttpClient对象,例如使用`HttpClientBuilder`或`HttpClients.createDefault()`方法。 - **构建HttpGet请求**:使用`HttpGet`类创建一个HTTP GET请求,指定要...

    JAVA利用HttpClient进行HTTPS接口调用

    接下来,`HttpClientUtil.java`文件可能是实现HttpClient工具类,提供一个静态方法来创建和初始化HttpClient实例。这个方法可能包含以下步骤: 1. 创建一个CloseableHttpClient实例,通常使用HttpClientBuilder构建...

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

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

    JAVA发送HttpClient请求及接收请求完整代码实例

    我们可以使用`HttpClients.createDefault()`来创建一个默认配置的HttpClient实例。 ```java CloseableHttpClient httpClient = HttpClients.createDefault(); ``` 接下来,我们需要定义一个`HttpGet`或`HttpPost`...

    java httpclient 模拟登录

    接下来,我们创建一个HttpClient实例,并设置必要的参数。这可能包括连接超时、读取超时等。例如: ```java import org.apache.http.HttpHost; import org.apache.http.client.config.RequestConfig; import org....

    httpclient的入门实例

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

    Java中Httpclient需要的jar包(httpclient.jar,httpcore.jar及commons-logging.jar)

    在这个例子中,我们首先创建了一个默认的HttpClient实例,然后定义了一个HttpGet请求对象,并指定目标URL。接着,我们通过HttpClient的execute方法发送请求并获取响应。这个例子展示了HttpClient库的基本用法,实际...

    Java使用HttpClient实现Post请求实例

    2. 创建HttpClient实例: ```java HttpClient httpClient = new DefaultHttpClient(); ``` 创建HttpClient实例是发送HTTP请求的第一步。在这里,我们使用了`DefaultHttpClient`作为默认实现。 3. 设置超时时间: ``...

    httpclient实例

    实现调用远程servlet方法的实例。有详细注释。和依赖jar包。 //servlet路径 String url = "http://localhost:8080/zfw/servlet/CustomQueryServlet"; //参数一为表名,参数二为字段名 String params[] = {"ZC_...

    Java-HttpClient帮助文档

    1. 创建HttpClient实例: 使用`HttpClientBuilder`创建HttpClient对象,例如: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); ``` 2. 构建HttpGet或HttpPost请求: ```java ...

    HttpClient实例+必备3个jar包

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

    java,HttpClient模拟上传,绕过SSL认证

    接下来,我们需要创建一个HttpClient实例,同时配置它跳过SSL认证。这可以通过自定义`SSLContext`和`TrustStrategy`实现: ```java import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import ...

    java使用HttpClient发送http请求

    1. 创建HttpClient实例,可以自定义连接管理器、重试策略等。 2. 构建请求对象,如HttpGet或HttpPost,设置URL、参数等。 3. 执行请求,调用HttpClient的execute方法。 4. 处理响应,如检查状态码、读取响应体、关闭...

    简单的HTTP功能监控功能(java httpclient-3.1)

    标题中的“简单的HTTP功能监控”指的是使用Java编程语言,通过`httpclient-3.1`库来实现对HTTP服务的功能性监控。`httpclient-3.1`是Apache HttpClient的一个旧版本,它提供了丰富的功能来执行HTTP请求并处理响应,...

    Java网络通信之HttpClient

    1. **创建HttpClient实例**:首先,我们需要创建一个HttpClient对象,这通常是通过HttpClientBuilder或HttpAsyncClientBuilder实现的。例如: ```java CloseableHttpClient httpClient = HttpClients.create...

Global site tag (gtag.js) - Google Analytics