收藏
回答

安卓微信7.0.7的header传带下划线参数接收异常,7.0.6正常,怎么解决?

安卓微信7.0.7的header传下划线参数接收异常,nginx已配置underscores_in_headers on,还是无效。7.0.6正常,微信的IOS

回答关注问题邀请回答
收藏

3 个回答

  • 小程序技术专员-寂
    小程序技术专员-寂
    2019-10-22

    你好,不建议这么用。

    下划线在 HTTP Header 里是非法字符串

    因为历史约定导致 HTTP Request Header 的名字不允许包含下划线 _ 字符,否则(大多数)服务端程序会判断这个 Header 不合法。 比如 Nginx 如果没有开启 underscores_in_headers on; 配置,在转发请求的过程中就会丢弃不合法的 Header。

    2019-10-22
    有用
    回复 1
    • 钢牙
      钢牙
      2019-10-23
      你好,这个header下划线确实不建议用,但是这个是历史遗留问题,如果动的话,涉及的项目比较多。nginx已配置underscores_in_headers on,之前版本都是正常使用的,现在的好像不行了
      2019-10-23
      回复
  • 钢牙
    钢牙
    2019-10-21

    设置header的值

    axios.interceptors.request.use(
      config => {
        // console.log(config)
        let chis_token = localStorage.getItem('chis_token');
        if (chis_token) {
           config.headers.common['CHIS_TOKEN'] = chis_token;
        }
        intercep(config)
        if(config.baseURL == URL.health_sys || config.baseURL == URL.health) {
          if (config.data) {
            config.data = Util.encrypt(config.data)
          } else {
            if(config.method == 'get' && config.params) {
              let str = ''
              for (let item in config.params) {
                str += item + '=' + config.params[item] + '&'
              }
              str = str.substring(0, str.length - 1)
     
              config.params = {
                data: Util.encrypt(str)
              }
            }
          }
        }
        return config;
      },
      error => {
        return Promise.reject(error);
      }
    );

    调用接口

    _checkSign(param) {
      checkSign(param).then(res => {
        console.log(res)
      })
    },

    后台java获取

    String CHIS_TOKEN = request.getHeader("CHIS_TOKEN");

    当安卓微信7.0.7调用时,CHIS_TOKEN获取为空,其他版本正常,微信IOS也正常

    2019-10-21
    有用
    回复
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2019-10-21

    麻烦提供能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-10-21
    有用
    回复 1
    • 钢牙
      钢牙
      2019-10-21
      2019-10-21
      回复
登录 后发表内容
问题标签