精华内容
下载资源
问答
  • java 获取post请求数据

    千次阅读 2019-04-13 17:06:32
    方式一 public static String getString(HttpServletRequest request)throws IOException{ BufferedReader reader = request.... logger.error("获取回调数据异常:" + e.getMessage()); } return notifyData; }
    方式一
    
    public static String getString(HttpServletRequest request)throws IOException{
        BufferedReader reader = request.getReader();
        char[] buf = new char[512];
        int len = 0;
        StringBuffer contentBuffer = new StringBuffer();
        while ((len = reader.read(buf)) != -1) {
            contentBuffer.append(buf, 0, len);
        }
        String content = contentBuffer.toString();
        if(content == null){
            content = "";
        }
        return content;
    }
    

    方式二

    @Override
    public String getNotifyStr(HttpServletRequest request) {
        String notifyData = "";
        try {
            InputStream is = request.getInputStream();
            try {
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
                notifyData=sb.toString();
                System.err.println(notifyData);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                is.close();
            }
        }catch (Exception e){
            logger.error("获取回调数据异常:" + e.getMessage());
        }
    
        return notifyData;
    }
    展开全文
  • Java获取post请求json数据

    万次阅读 2017-03-01 17:47:46
    java接收http请求body中的json数据 发表于 2015-12-26  | 分类于 java  | 暂无评论 一般情况下,web应用中,浏览器发送http请求,传参数的时候都是作为param传递的,java服务端通过request....

    java接收http请求body中的json数据

    一般情况下,web应用中,浏览器发送http请求,传参数的时候都是作为param传递的,java服务端通过request.getParameter(name)可以获取参数内容;

    但是会有一些场景,把参数放在了http的payload中(contentType:”application/json”),这时,使用getParameter就获取不到了, 比如下面这张图,参数是json字符串,放在了payload中
    http payload

    实际上,payload,就是http的body,通过读取body,就获取到了

    1. 原生servlet获取

    http body通过读取input流可以得到

          
    1
    2
    3
    4
    5
    6
    7
    8
          
    br = new BufferedReader( new InputStreamReader((ServletInputStream) request.getInputStream(), "utf-8"));
    StringBuffer sb = new StringBuffer( "");
    String temp;
    while ((temp = br.readLine()) != null) {
    sb.append(temp);
    }
    br.close();
    params = sb.toString();

    如果传递的是json,得到字符串之后,再反序列化成json对象就可以了

    2. springmvc获取

    SpringMVC中有一个@RequestBody注解,就是用来将请求body中的json转换为java对象的,不仅转换普通的java bean,也可以是List,很方便

          
    1
    2
    3
    4
    5
    6
          
    @RequestMapping(value = "/query", method = RequestMethod.POST)
    public ModelAndView queryList(@ModelAttribute("ReportBo") ReportBo query,
    @RequestBody ReportBo query1,
    HttpServletRequest request) {
    }

    0
    展开全文
  • 一、java后台post请求发送json参数 GET请求向服务器发送的数据,都放在url中,这样在发送请求时不用向请求正文中写入数据。而POST请求在发送时,必须先将发送的数据,写入到请求正文中。 package dw.health; import...

    一、java后台post请求发送json参数

    GET请求向服务器发送的数据,都放在url中,这样在发送请求时不用向请求正文中写入数据。而POST请求在发送时,必须先将发送的数据,写入到请求正文中。

    package dw.health;
    
    import com.alibaba.fastjson.JSONObject;
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class App
    {
        public static JSONObject sendPost(String url,JSONObject jsonParam) throws Exception {
            OutputStream out = null;
            BufferedReader in = null;
            StringBuilder result = new StringBuilder();
            HttpURLConnection conn = null;
            try {
                // 创建url资源
                URL url_ = new URL(url);
                // 建立http连接
                conn = (HttpURLConnection) url_.openConnection();
                // 设置传递方式
                conn.setRequestMethod("POST");
                // 设置允许输入、允许输出
                conn.setDoInput(true);
                conn.setDoOutput(true);
                // 设置不用缓存
                conn.setUseCaches(false);
                //设置连接超时时间和读取超时时间
                conn.setConnectTimeout(30000);
                conn.setReadTimeout(10000);
                // 转换为字节数组
                byte[] data = (jsonParam.toString()).getBytes();
                // 设置文件长度
                conn.setRequestProperty("Content-Length", String.valueOf(data.length));
                // 设置文件类型:
                conn.setRequestProperty("contentType", "application/json");
                // 开始连接请求
                conn.connect();
                out = new DataOutputStream(conn.getOutputStream()) ;
                // 写入请求的字符串(此时jsonParam数据是放在了请求正文body里)
                out.write((jsonParam.toString()).getBytes());
                out.flush();
                out.close();
                // 请求返回的状态
                if (HttpURLConnection.HTTP_OK == conn.getResponseCode()){
                    // System.out.println("连接成功");
                    // 请求返回的数据
                    InputStream in1 = conn.getInputStream();
                    try {
                        String readLine=new String();
                        BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,"UTF-8"));
                        while((readLine=responseReader.readLine())!=null){
                            result.append(readLine).append("\n");
                        }
                        responseReader.close();
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                } else {
                    System.out.println("ResponseCode is an error code:" + conn.getResponseCode());
                }
    
            } catch (Exception e) {
                    throw new Exception(e);
            }finally {
                try{
                    if(out != null){
                        out.close();
                    }
                    if(in != null){
                        in.close();
                    }
                }catch (IOException ioe){
                    ioe.printStackTrace();
                }
            }
    
            return JSONObject.parseObject(result.toString());
        }
    
        public static void main( String[] args ) throws Exception {
            JSONObject jsonParam = new JSONObject();
            jsonParam.put("para1", "para1");
           	jsonParam.put("para2", "para2");
    		jsonParam.put("para3", "para3");
            String url="servlet请求地址";
            JSONObject data = sendPost(url,jsonParam);
            System.out.println(data);
    
        }
    
    }
    
    

    二、通过HttpServletRequest获取post请求中的body内容(未使用注解)

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
            String str = "";
            String wholeStr = "";
            while((str = reader.readLine()) != null){
                wholeStr += str;
            }
            JSONObject param = JSONObject.parseObject(wholeStr);
            String para1 = param.getString("para1");
            String para2 = param.getString("para2");
            String para3 = param.getString("para3");
            JSONObject result = new JSONObject();
            PrintWriter writer = null;
            LinkedHashMap<String, String> hm = new LinkedHashMap<String, String>();
            String resp = "";
            JSONObject jsonobj = new JSONObject(true);
            try {
                param.put("para4","para4");
                result = param;
                resp = result.getString("data");
            } catch (Exception e) {
                hm.put("errorcode", "1");
                hm.put("errortext", e.getMessage());
                jsonobj.putAll(hm);
                resp = jsonobj.toJSONString();
            }
    
            try {
                response.setCharacterEncoding("GBK");
                writer = response.getWriter();
                writer.write(resp);
                writer.flush();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                writer.close();
            }
        }
    
    
    展开全文
  • PHP JAVA关于post请求数据接收的处理

    千次阅读 2016-10-08 17:18:49
    PHP接收post请求数据主要采用两种方式:  1、$_POST[index]方式  2、$data = file_get_contents("php://input");    Content-Type仅在取值为application/x-www-data-urlencoded和multipart/form-...

    PHP接收post请求数据主要采用两种方式:

         1、$_POST[index]方式

         2、$data = file_get_contents("php://input");

     

         Content-Type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,PHP才会将http请求数据包中相应的数据填入全局变量$_POST。因此,如果使用$_POST来获取post过来的数据时,需要注意Content-Type类型,如果不是application/x-www-data-urlencoded和multipart/form-data,则采用file_get_contents("php://input");进行获取。

     

         php://input 可以读取http entity body中指定长度的值,由Content-Length指定长度,不管是POST方式或者GET方法提交过来的数据。但是,一般GET方法提交数据 时,http request entity body部分都为空。

     

        例如在传递json串的时候,通过file_get_contents("php://input");获取原始串,然后通过json_decode()进行解析。

     

    Java的servlet中接收Post请求数据主要采用两种方式:

        1、request.getParameter()

        2、request.getInputStream();

     

        Content-Type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,request.getParameter()才能获取到值,否则返回空。

        Content-Type为其他类型时,可以采用如下方式进行获取:

     

    String json = org.apache.commons.io.IOUtils.toString(request.getInputStream());
    System.out.println(json);

     之后对取到的值(字符串)进行处理。

     

     

    因此,通过HttpClient4.5.2的fluent api发送post请求时,接收方对应的处理方式如下:

     

    ---------------------方式一:
    发送方:
    Request.Post(url).bodyForm(Form.form().add("loginName", "vip").add("password", "secret").build()).execute().handleResponse(myRespHandler);
    接受方:
    java:request.getParameter() 或 request.getInputStream()
    php:$_POST  或  file_get_contents('php://input');
    ---------------------方式二:
    发送方:
    Request.Post(url).bodyString(req, ContentType.APPLICATION_JSON).execute().handleResponse(myRespHandler);
    接收方:
    java:request.getInputStream()
          String json = org.apache.commons.io.IOUtils.toString(request.getInputStream());
    php:  file_get_contents("php://input");
    
    

     

     

     

     

     

    展开全文
  • JAVA获取POST请求的请求头信息

    千次阅读 2017-09-27 10:39:24
    * 描述:获取 post 请求内容 * * 举例: * * @param request * @return * @throws IOException */ public static String getRequestPostStr(HttpServletRequest request) throws IOException ...
  • java发送post请求上传文件和json数据

    千次阅读 2020-06-29 17:13:53
    java发送post请求上传文件和json数据 因为第三方的上传服务post参数使用了两个@requestpart参数。 但是feign不可以使用两个@requestpart参数。会报错:java.lang.IllegalStateException: Method has too many Body ...
  • post 请求 java接收处理得到请求数据

    千次阅读 2017-09-05 15:43:29
    post 请求 java接收处理得到请求数据
  • Java发送Post请求

    千次阅读 2015-10-20 11:41:28
    1.Java发送Post请求方法,指定Url发送String类型数据,直接从代码里抠出来的,不必要的代码可自行注掉。 /** * post请求 * * @param url * post的url地址 * @param body * 要post的数据 * @return ...
  • java通过Http get post请求url获取数据

    千次阅读 2017-06-28 13:53:42
    java通过Http get post 请求url获取数据
  • 本篇文章主要介绍了java通过HttpServletRequest获取post请求中的body内容的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 就是在接收post请求的时候获取不到请求数据,自己用ajax写的时候没有问题   这个是报文内容 {"type":"WNING_INFO","code":"WYC","downtime":"2017-01-...
  • 本文实例讲述了JAVA获取HTTP请求头的方法。分享给大家供大家参考,具体如下: 在利用Java网络编程时,利用Java获取HTTP Request 和 Response头字段; 可以利用Java语言根据需要添加自定义的HTTP头字段,而不必拘泥...
  • /** * 发送post请求 * @param url 路径 * @param jsonObject 参数(json类型) * @param encoding 编码格式 * @return * @throws ParseException * @throws IOException */ public s...
  • Java Post 数据请求和接收

    万次阅读 2015-03-31 17:27:12
    最近做项目时,发现手机客户端通过http协议post方式上传数据到服务端,在服务器端通过request.getInputStream()能获取到相应的数据,但用request.getParameter()却获取不到数据。这是怎么回事呢,后来发现这种情况跟...
  • java 发送http协议的POST请求获取数据

    千次阅读 2017-05-29 13:45:51
    在项目的时候用到了第三方提供的http接口去获取数据库里的数据,并且使用... * @功能 http向指的URL发送POST请求 * @author you * @param method 请求方法,POST * @param url 请求的路径 * @return */
  • 1.请求参数为json格式 1.pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:...
  • java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...
  • Java后台的Servlet中通过以下代码获取请求体: ``` request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); // 1. 获取...
  • 下面的实例是 java使用POST请求向opentsdb读条写入数据: package com.streamsets.pipeline.stage.origin.yofc; import com.alibaba.fastjson.JSON; import org.apache.http.HttpEntity; import org.apache....
  • Java 模拟post请求,发送json格式数据

    千次阅读 2015-03-25 15:37:03
    import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; impor
  • java post 发送请求获取返回值

    千次阅读 2020-01-09 10:16:24
    java post 发送数据并且拿到服务器返回的参数 最近用了很多post发送数据,就想着把这个记录一下 废话不多说,这个是发送数据的。 /**post 发送作业数据*/ public static void doPost(String data,String url) { /...
  • // 获取返回数据 BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8")); String line = null; StringBuffer sb = new StringBuffer(); while ((line = in....
  • java接收不到ios端的post请求数据

    千次阅读 2018-03-22 17:17:31
    作为一个java后台开发者,要是看Android代码,也许还凑合,猛的一看ios的真是看不懂接口已经写好了,Android端调试通过,但是ios的post请求数据接收的时候永远都是null,看了ios代码,他们将参数放在httpbody里了,...
  • Java中对ajax的post请求的json参数在filter中的解析
  • HttpServletRequest获取GET POST JSON 请求数据 GET请求数据获取: public void get(HttpServletRequest ...POST请求数据获取: post请求数据需要从请求头中获取 public void post(HttpServletRequest request) thr
  • Java中如何获取post请求中的body内容
  • java GET和POST请求返回数据

    千次阅读 2017-05-28 19:04:45
    http请求类 package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net....
  • java-HttpURLConnection 发送POST请求 传递参数或JSON数据 需求 三方接口 restful请求 POST方式 参数JSON 接收数据JSON HttpURLConnection发送POST请求 public class RestUtil { public String postMethod(String...
  • post json数据到springmvc中并获取http请求的内容 如何使用java.net下的API实现向springmvc postjson数据 在访问springmvc如何显示这些请求数据,以方便我们看到post的数据是否正确。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 203,003
精华内容 81,201
关键字:

java获取post的的请求数据

java 订阅