http請求頭header參數中不能使用下划線“_”


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM