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 中的參數使用下划線,參數名可采用駝峰方法