laravel中取header頭部信息取不到的相關問題


今天和移動端對接的時候,移動端把一些公共參數放在了 header 了,

然而在 laravel 中使用

\Illuminate\Http\Request;  
 
//這個是獲取所有header信息
Request::header();
 
//這個是獲取header里面的version參數值
Request::header('version');

這些是可以滿足需求獲取到參數的。

但是偏偏這次出問題了。新加的參數怎么都是取不到,還以為是什么緩存問題,或者是哪里去除了,又或者帶參數有個數限制。

結果調試了半天發現是移動端傳參數的時候是不能在命名參數中帶 _ (下划線的),

如 app_version,book_id 這樣的是有問題的

需要去除下划線,或換成 - 都是可以的!

遇見這個坑記錄一下,希望大家別踩啦!

-------------------------------------------------------------------

ps:今天調試中又發現 header 中是不能帶 中文 過來的,如果帶 中文 過來后端在 header 頭中是拿不到值的。

初步測試是這樣,如果有問題請大家指正哈!

-----------------------------------------------------------------

 

后續發現是Nginx中配置限制了這個,

解決方法:

1:配置中http部分 增加underscores_in_headers on; 配置 
2:用減號-替代下划線符號_,避免這種變態問題。nginx默認忽略掉下划線可能有些原因。 

 


免責聲明!

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



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