页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  1. 为什么openresource集成请求参数传递失败?
  2. 为什么令牌token令牌解析失败?
  3. 为什么令牌token登录之后参数传递失败
  4. ......

下面我们就从基础出发,深入探究基础的秘密。


一、openresource集成问题

1、选择正确的传参字符串json

在资源集成的时候,openresource请求的paramsInfo、paramsInfoBase64两个参数是用来传递参数,传递的参数信息需要一个json格式的字符串,在不同的资源里其传递的字符串格式是不一样的。需要根据不同的资源选择正确的参数json串,选择正确的传参字符串参数传递的问题可以解决70%的问题。

...

url转码是浏览器请求时面对不合法的请求时进行转化的重要手段,实现的原理是将需要转码的字符,按指定编码方式(默认使用UTF-8编码)转化为字节流,然后每个字节按16进制表示,最后添加%组成一个percent编码,最终就会变成%+16进制+16进制的格式

例如:你好

  • UTF-8字节流打印为:-28 -67 -96 -27 -91 -67
  • 对应的16进制表示为:E4 BD A0 E5 A5 BD
  • URLEncode编译后为:%E4%BD%A0%E5%A5%BD

此时转码之后的字符就可以被浏览器识别,所以只需要将paramsInfo后面的参数内容全部进行url转码之后拼接到请求中就可以被Tomcat识别。如下这里我们直接在浏览器控制台中使用encodeURIComponent,得到的结果拼接成完整的url请求具体如下。此时就可以正常访问并且传参成功,在实际开发场景中只需要将拼接之后参数json进行字符串格式化之后再拼接到请求中即可完成参数传递。

...

在实际生产的过程中使用openresource.jsp集成资源的时候,除去会遇到Tomcat无法识别字符的问题之外,还可能或有参数过多请求头过长请求被拦截、请求中大量的特殊字符被网络安全策略拦截等各式各样的场景,那是否还有其他办法规避掉这些问题?



4、post请求提交