pycharm本地调试,在postman中输入带下划线的参数没有问题,但是,当把项目部署到ecs中测试,使用带下划线的参数就会报错

typeerror int() argument must be a string a bytes-like object or a number

原因在于,ecs里使用的nginx做代理

在 HEADER字段名中使用下划线其实是合法的、符合 HTTP 标准的。服务器之所以要默认禁止使用是因为 CGI 历史遗留问题。下划线和中划线都为会被映射为 CGI 系统变量名中的下划线,这样容易引起混淆。

在 nginx 服务器中,通过显式地设置

underscores_in_headers on

可以开启在字段名中使用下划线。默认该选项是关闭的,所以在默认情况下,所有包含下划线的字段名都会被丢弃。

建议不要在 HEADER 中的参数使用下划线,参数名可采用驼峰方法

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-01
  • 2021-11-18
猜你喜欢
  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案