`
bosschen
  • 浏览: 197178 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java发送httpPost请求的2种方式

 
阅读更多

http://www.cnblogs.com/hanyj123/p/9641626.html

 

 

今天写了个发送请求验证token,本来使用application/json发送post请求,如下:

/**
* 通过请求第三方接口验证token
* @param token
*/
public Map verifyToken(String token) {
    CloseableHttpClient httpClient = null;
    CloseableHttpResponse response = null;
    Map result = null;
    try {
        httpClient = HttpClients.createDefault();
        //参数
        Map params = new HashMap();
        params.put("userToken", token);
        params.put("type", "floodForecast");
        //通过post方式访问
        HttpPost post = new HttpPost(verifyUrl);
        StringEntity paramEntity = new StringEntity(JSONParser.obj2Json(params), "UTF-8");
        paramEntity.setContentType("application/json");
        post.setEntity(paramEntity);
        response = httpClient.execute(post);
        HttpEntity valueEntity = response.getEntity();
        String content = EntityUtils.toString(valueEntity);
        result = JSONParser.json2Map(content);

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return result;
}

 

后来第三方接口不支持json接收,需要改成text,如下

/**
* 通过请求第三方接口验证token
* @param token
*/
public Map verifyToken(String token) {
  HttpClient httpClient = null;
  HttpResponse response = null;
  Map result = null;
  try {
    httpClient = HttpClients.createDefault();
    // 准备参数
    List<NameValuePair> params = Lists.newArrayList();
    params.add(new BasicNameValuePair("userToken",token));
    params.add(new BasicNameValuePair("type","flood_forecast"));
    UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(params,"UTF-8");
    //通过post方式访问
    HttpPost post = new HttpPost(verifyUrl);
    formEntity.setContentType("application/x-www-form-urlencoded");
    post.setEntity(formEntity);
    response = httpClient.execute(post);
    HttpEntity valueEntity = response.getEntity();
    String content = EntityUtils.toString(valueEntity);
    result = JSONParser.json2Map(content);
  } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
  } catch (ClientProtocolException e) {
    e.printStackTrace();
  } catch (IOException e) {
    e.printStackTrace();
  }
  return result;
}

分享到:
评论

相关推荐

    java中main方法发送httpPost请求

    首先,Java中发送HTTP POST请求通常会用到`HttpURLConnection`类或者第三方库如Apache HttpClient或OkHttp。下面我们将主要使用`HttpURLConnection`来演示,因为它内置在JDK中,无需额外引入依赖。 1. **创建HTTP...

    java发送httpPost请求实现

    用java编写了http Post的请求代码,通过发送请求的 URL,获取远程资源的响应结果,入参为json字符串。使用到httpPost,CloseableHttpClient

    java代码发送JSON格式的httpPOST请求

    在Java中,`HttpURLConnection`类是发送HTTP请求最基础且直接的方式。下面将详细解析如何利用`HttpURLConnection`来构建并发送一个包含JSON数据的POST请求: ```java import java.io.BufferedReader; import java....

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    java发送http/https请求(get/post)代码

    本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关重要。HTTP(超文本传输协议)是一种用于分发超媒体信息的应用层协议,而HTTPS(超文本传输安全协议)是...

    JAVA 发送http请求工具类

    本文将详细解析如何使用Java实现HTTP和HTTPS的GET与POST请求,并结合提供的类文件名称(HttpsHandler.java、HttpUtil.java、NetUtil.java)探讨可能的实现方式。 首先,`HttpUtil`类通常用于封装HTTP请求的操作。在...

    JAVA发送POST请求,如何使用JAVA发送POST请求

    本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...

    java发送http请求

    java发送http请求的一个小例子 包含get和post两种请求方式

    使用java发送get和post请求实践

    在 `doPost` 方法中,我们首先创建了一个 `CloseableHttpClient` 对象,然后使用 `HttpPost` 对象来发送 POST 请求。在这个示例中,我们使用 `UrlEncodedFormEntity` 对象来指定请求体。 使用 Apache HttpClient 库...

    java 发送https 请求 证书

    在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信方式,它通过SSL/TLS协议加密传输数据,确保了网络通信的安全性。当你需要在Java程序中发送HTTPS请求时,可能会遇到证书...

    HTTP发送POST请求的工具类

    HTTP发送POST请求的工具类

    java 作为客户端发送http post请求登录网站首页。

    在Java编程中,发送HTTP POST请求来登录一个网站并实现客户端功能是一项常见的任务。这个过程涉及到网络通信协议、HTTP状态码以及数据传输等关键概念。本文将深入探讨这些知识点,并结合给定的场景,即“登录页面...

    java发送JSON格式的http通讯的post请求

    在Java编程中,发送HTTP POST请求来传递JSON数据是常见的任务,特别是在Web服务和API交互中。HTTP POST请求用于向服务器提交数据,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...

    Java发送HTTP请求GET/POST测试

    总的来说,Java发送HTTP请求GET/POST是网络编程的基础,理解和掌握这些知识对于进行Web服务的开发和集成至关重要。无论是简单的数据获取还是复杂的数据交互,都能通过这些方法实现。通过实践项目,你可以更好地理解...

    JAVA发送HTTP请求,返回HTTP响应内容

    【JAVA发送HTTP请求,返回HTTP响应内容】 在Java编程中,发送HTTP请求并接收响应是常见的网络通信操作,尤其在Web服务的开发和测试中。本文将详细介绍如何使用Java发送HTTP请求并处理响应内容。 首先,我们需要...

    java发送get或post请求源码

    在Java编程中,发送HTTP请求是常见的任务,无论是GET还是POST方式,它们都是HTTP协议的两种主要请求方法。GET用于获取资源,而POST用于提交数据。以下是一个详细的讲解,包括如何使用Java实现这两种请求。 首先,...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    在Java编程中,HttpClient是一个非常重要的工具库,用于发送HTTP请求。这个压缩包可能包含了实现HTTP GET和POST请求所需的jar包以及示例代码,帮助开发者理解如何使用HttpClient进行网络通信。下面将详细介绍...

    java支持https的Post请求

    接下来,我们可以使用`HttpURLConnection`或第三方库如Apache HttpClient来发送POST请求。以下是一个使用`HttpURLConnection`的例子: ```java import java.io.OutputStream; import java.net.HttpURLConnection; ...

Global site tag (gtag.js) - Google Analytics