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