精华内容
下载资源
问答
  • java 获取接口请求中 http body的size

    千次阅读 2018-10-11 17:30:26
    String length = request.getHeader("... 如果短于内容长度,协议要求服务器返回400错误信息Bad Request(不正确的请求)的。 POST是把键-值对放在内容中传递,受上述规则制约。   之前...

    String length = request.getHeader("content-length");

     content length是指报头以外的内容长度。 一般的服务器实现中,超过这个长度的内容将被抛弃。 不会产生新post。 如果短于内容长度,协议要求服务器返回400错误信息Bad Request(不正确的请求)的。 POST是把键-值对放在内容中传递,受上述规则制约。

     

    之前想限制一下http body的大小 太大的话不往下走逻辑

    所以用这个content length 粗略的进行一下 大小的限制

    展开全文
  • import java.io.ByteArrayInputStream; import java.io.StringReader; import java.util.Iterator; public class Main { private static int tickets=15; String str = new String(" "); public static void ...
    import javax.xml.soap.*;
    import java.io.ByteArrayInputStream;
    import java.io.StringReader;
    import java.util.Iterator;
    
    public class Main {
        private static int tickets=15;
        String str = new String(" ");
    
        public static void main(String[] args) {
    	// write your code here
            get_info();
    
        }
        public static void get_info() {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    String url2 = String.format("http://localhost/scheduling/public/get-schedule.php");
                    String data = new Get().doPost(url2, "");//数据量大的还是要用post接口
                    if (data == null) {
    
                    } else {
                        try {
                            SOAPMessage msg = formatSoapString(data);//格式化
                            SOAPBody body = null;
                            body = msg.getSOAPBody();//获取body
                            Iterator iterator = body.getChildElements();
                            GetDate(iterator);//解析body
                        } catch (SOAPException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }).start();
    
        }
    
        private static void GetDate(Iterator<SOAPElement> iterator) {
            while (iterator.hasNext()) {
                Object o = iterator.next();
                if (o != null) {
                    SOAPElement element = null;
                    try {
                        element = (SOAPElement) o;
                        System.out.println("Value:" + element.getNodeName());
    
                    } catch (Exception e) {
                    }
                    if (element != null) {
                        GetDate(element.getChildElements());
                    }
                }
            }
        }
    
        public static SOAPMessage formatSoapString(String soapString) {
            MessageFactory msgFactory;
            try {
                msgFactory = MessageFactory.newInstance();
                SOAPMessage reqMsg = msgFactory.createMessage(new MimeHeaders(),
                        new ByteArrayInputStream(soapString.getBytes("UTF-8")));
                reqMsg.saveChanges();
                return reqMsg;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    
    }
    

    附上java post请求接口

       public static String doPost(String httpUrl, String param) {
    
            HttpURLConnection connection = null;
            InputStream is = null;
            OutputStream os = null;
            BufferedReader br = null;
            String result = null;
            try {
                URL url = new URL(httpUrl);
                // 通过远程url连接对象打开连接
                connection = (HttpURLConnection) url.openConnection();
                // 设置连接请求方式
                connection.setRequestMethod("POST");
                // 设置连接主机服务器超时时间:15000毫秒
                connection.setConnectTimeout(15000);
                // 设置读取主机服务器返回数据超时时间:60000毫秒
                connection.setReadTimeout(60000);
    
                // 默认值为:false,当向远程服务器传送数据/写数据时,需要设置为true
                connection.setDoOutput(true);
                // 默认值为:true,当前向远程服务读取数据时,设置为true,该参数可有可无
                connection.setDoInput(true);
                // 设置传入参数的格式:请求参数应该是 name1=value1&name2=value2 的形式。
                connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                // 设置鉴权信息:Authorization: Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0
                connection.setRequestProperty("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0");
                // 通过连接对象获取一个输出流
                os = connection.getOutputStream();
                // 通过输出流对象将参数写出去/传输出去,它是通过字节数组写出的
                os.write(param.getBytes());
                // 通过连接对象获取一个输入流,向远程读取
                if (connection.getResponseCode() == 200) {
    
                    is = connection.getInputStream();
                    // 对输入流对象进行包装:charset根据工作项目组的要求来设置
                    br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
    
                    StringBuffer sbf = new StringBuffer();
                    String temp = null;
                    // 循环遍历一行一行读取数据
                    while ((temp = br.readLine()) != null) {
                        sbf.append(temp);
                        sbf.append("\r\n");
                    }
                    result = sbf.toString();
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                // 关闭资源
                if (null != br) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (null != os) {
                    try {
                        os.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (null != is) {
                    try {
                        is.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                // 断开与远程地址url的连接
                connection.disconnect();
            }
            return result;
        }
    

    附上javax.xml.soap-10.0-b28.jar
    链接:https://pan.baidu.com/s/1HNGvOf6Bi8wzwQR_hcCf6Q
    提取码:v3ue
    复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享

    展开全文
  • 自己实现了一个rest接口,供本地访问。但是当在页面端的js里打上断点查看数据...要问的问题是,response里面的body为什么和我返回的data属性值一致,而不是和其他的一致?后台是通过java语言实现的, 如下:@Request...

    自己实现了一个rest接口,供本地访问。

    但是当在页面端的js里打上断点查看数据的时候发现response的body中的数据和我在后台发挥的数据data是一致的。

    在下面前后端代码中吧操作的返回值data, status, rowCount列出来了。

    要问的问题是,response里面的body为什么和我返回的data属性值一致,而不是和其他的一致?

    后台是通过java语言实现的, 如下:

    @RequestMapping(value = "/query" , method = RequestMethod.GET)

    @ResponseBody

    public Map queryList(HttpServletRequest request) {

    .......

    ResponseEntity response = getObjectByRest(url, QueryEntity.class, req , getMthod);

    Map res = new HashMap();

    CommMsgEntity msg = new CommMsgEntity();

    log.info("response: " + response);

    if(null != response){

    int statusCode = response.getStatusCode().value();

    if(200 == statusCode) {

    msg.setStatus(CommMsgEntity.COMM_SUCCESS);

    }else {

    msg.setStatus(CommMsgEntity.COMM_Fail);

    }

    res.put("status", msg);

    res.put("data", response.getBody().getData());

    res.put("rowCount", response.getBody().getSize());

    }else {

    msg.setStatus(CommMsgEntity.COMM_Fail);

    res.put("status", msg);

    res.put("data", null);

    res.put("rowCount", 0);

    }

    return res;

    }

    前端语言使用的是vue,访问接口使用的vue-resource插件 ,页面详情如图:

    11d903c646cc21fe0a69f6baa958b90e.png

    展开全文
  • 我想获取网页上的内容, 这个网页每次连接都会生成一句新的例句 : 例如 :I will make sure she is taken care of mentally emotionally and physically 我想获取这个内容,返串回字符串,我使用的 是Android studio ...
  • 我用MyEcplise工具Java语言做的模拟登录,在访问成功之后将Cookie放到了获取成绩的代码中,但是在获取成绩的时候会有问题。也就是每当运行的时候就会返回 //初始化函数 function init(){ document.form.action='...
  • java相关:SpringMvc微信支付回调示例代码发布于 2020-7-14|复制链接微信一直是一个比较热门的词汇,今天介绍大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用@RequestBody注解在...

    java相关:SpringMvc微信支付回调示例代码

    发布于 2020-7-14|

    复制链接

    微信一直是一个比较热门的词汇,今天

    介绍大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用@RequestBody注解在参数上,希望能获取xml数据,测试失败。最后使用HttpServletRequest去获取数据成功了。示例代码

    ```java

    @RequestMapping("/weixinpay/callback")

    public String callBack(HttpServletRequest request){

    InputStream is = request.getInputStream();

    String xml = StreamUtil.inputStream2String(is, "UTF-8")

    /**

    * 后面把xml转成Map根据数据作逻辑处理

    */

    }

    ```

    ```java

    /**

    * InputStream流转换成String字符串

    * @param inStream InputStream流

    * @param encoding 编码格式

    * @return String字符串

    */

    public static String inputStream2String(InputStream inStream, String encoding){

    String result = null;

    try {

    if(inStream != null){

    ByteArrayOutputStream outStream = new ByteArrayOutputStream();

    byte[] tempBytes = new byte[_buffer_size];

    int count = -1;

    while((count = inStream.read(tempBytes, 0, _buffer_size)) != -1){

    outStream.write(tempBytes, 0, count);

    }

    tempBytes = null;

    outStream.flush();

    result = new String(outStream.toByteArray(), encoding);

    }

    } catch (Exception e) {

    result = null;

    }

    return result;

    }

    ```

    展开全文
  • Webflux 和 servlet一样body只能获取一次,解决办法也是一样的,自定义请求包装类参考大神博客1 背景为了测试和调试方便打印请求和返回的报文信息。一般可以通过Aop拦截controller方法或增加过滤器打印报文信息解决...
  • 服务器错误如下:If an error occurred, a HTTP status code 503 (Service Unavailable)will be returned. The MIME type will be set in accordance with theformat parameter that was specified in ... The body...
  • 前端Vue采用jsonp方法访问后台数据 前端请求代码: getAllList() { //导入Vue-resource.js,通过this.$http... //通过then指定回调函数,可获取服务器返回的数据 //判断result.status是否等于200,200为请求成功...
  • java @ResponseBody 和 @RequestBody 的作用

    千次阅读 2019-05-06 12:12:26
    @RequestMapping(“url”) ...作用在方法上,表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】,在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @Resp...
  • string()而不是response.body.toString()我正在使用Jetty servlet,URL是http://172.16.10.126:8789/test/path/jsonpage,每次请求此URL都会返回{"employees":[{"firstName":"John","lastName":"Doe"},{...
  • 返回数据类型 <Get_HR_RYKQResult>string <dt_rykq>xmlxml <dt_ygcg>xmlxml ... <soap:Body> 获取人员信息成功 <xs:element name="ZHR_ZYZ
  • 正常返回的数据是流 可以读成图片 但是异常的时候返回的是对象(字段) 这种时候需要判断情况,就是说分别获取流文件的对象信息,而Response.body()这个只能用一次,所以推出这个解决方法 import okhttp3.*; import ...
  • 场景:前端用了vue没有用ajax与后台通信,用了axios,但是在代码运行过程中发现axios传递到后台的值接受到数据为null。问题原因:此处的问题在与axios返回给后台...如下图代码使用@RequestBody Map map去获取前台传...
  • 毕竟要根据请求参数才能进行相应的操作,返回预想的结果。 一般来说我们web请求参数是不能直接通过http请求来代码识别的,所以你必须要通过注解来告诉代码“不要傻等着参数像之前那样,方法间参数传递那样直接获取,...
  • 首先获取事件对象,并判断是否要阻止按下键盘的默认事件window.onload=function(){document.getElementsByTagName("body")[0].onkeydown=function(){varelem=event.relatedTarget||event.srcElement||event.target||...
  • 小程序获取openid,报java.lang.NullPointerException错误 ![图片说明](https://img-ask.csdn.net/upload/202003/02/1583159741_229560.png) 看了下代码,参数都有传过去,实在找不出哪里有错 public static ...
  • Spring中的注解@RequestBody和@ResponseBody的区别及简单用法? @RequestBody用法 ...这个注解意思就是前端调用我这个接口异步获取数据的时候返回结果不会被解析为跳转路径,直接写入http respon
  • 我是通过getInputStream()来获取流,然后通过读取流来获取请求的body。虽然网上有很多解决方案的例子,但是我发现没有一篇文章解释为什么会这样的文章,所以决定自己去研究源码。问题表现Content-Type为application/...
  • 实习期间一个任务需要对接一个webservice接口,获取返回的数据并更新到自己的数据库中 学习参考 webservice基础 个人总结 webservice是基于http的 只不过请求体是为xml格式 传递的数据格式: <Envelope> &...
  • HttpsClientSend.java

    2019-12-26 09:45:14
    Java 通过后台 使用HttpClient 模拟Get 和Post请求,可携带参数,设置请求头和RequestBody,并获取接口的返回信息。可用于后台的接口调用,功能对接。
  • 这两天研究jqgrid,我用的jsp,用local方式能正常显示出来,但换成json形式就不行了 ...但是把datatype换成json就不行,返回的json格式数据我试了各种版本,但就是不行。 不知有人碰到过类似问题没有
  • 问题:但是怎么获取这个字段我一直拿不到?我在谷歌上面F12也看不到请求,会卡死 补充解决思路:这个访问请求会重定向,在重定向时会保存这个cookie,这是cookie是一个js文件加密生成的,简单点可以直接简化这...
  • 有 时你标签对应的java代码会从数据库或其他网络渠道获取数据。这些数据在最终返回jsp显示之前,需要一个过滤修改的过程。比如去掉某些政治敏感的词语 或像本例一样加入一个词语“马克-to-win”。这时就需要你用BODY...
  • Java常用

    2021-03-18 16:04:48
    生成uuid ...@RequestBody 获取前台传来的json格式数据 @ResponseBody 返回json格式数据 this 同类中可用this.调用本类方法,此时this为本类的对象 foreach循环 for(String str:list){ } String 遍历出
  • 首先说流程:1.访问启动任务servlet2.启动任务servlet开启任务,并跳转掉进度条展示页面3.页面就绪就调用(进度参数获取servlet),此后进度条展示页面定时调用,直到传递过来为100%.4....1.进度条schedule.css文件:body{m...
  • 优酷文档写的一般 有的地址拼写错误 而且有的地方返回服务器域名,需要将其转换为ip方可使用。普通用户基本模式就是 先通过一个优酷链接,让用户授权,获取授权文件再一步步上传。详细可以参考...
  • java相关:SpringMvc微信支付回调示例代码发布于 2020-7-14|复制链接微信一直是一个比较热门的词汇,今天介绍大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用@RequestBody注解在...
  • 需要查找一个.java文件中的方法名、参数类型,先找到方法体,再找到方法名。...如果有多个最外层{},仅返回第一个针对花括号总是成对出现的规律:定义一个变量body=1; 遍历到第一个左花括号时,body值不...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 204
精华内容 81
关键字:

java获取body返回

java 订阅