`

JAVA实现httpClient实例

    博客分类:
  • Java
阅读更多
package net.zhutou.http;

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 猪头
    */
    public class MyClient {

    /**
    *的到Http请求结果
    * @param url请求地址
    * @param parms请求参数
    * @return
   */

    public byte[] getBody(String url,Map parms){

    byte[] body=null;

    //构造HttpClient的实例

    HttpClient httpClient = new HttpClient();

    //创建GET方法的实例

    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.huawei.com”;

    Map parms=new HashMap();

    MyClient client=new MyClient();

    String result=new String(client.getBody(url, parms)); System.out.println(result);

    }

    }
分享到:
评论

相关推荐

    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进行HTTPS接口调用

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

    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请求及接收请求完整代码实例

    我们可以使用`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**:...

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

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

    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