我正在使用以下请求标头向服务器发送标头:
Host: xx.com User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip,deflate Referer: xx.com Authorization: Bearer mytoken1234 X-Requested-With: XMLHttpRequest Connection: keep-alive
在我的PHP文件中,我正在尝试使用var_dump()查看标题,它显示如下:
["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ["HTTP_ACCEPT_ENCODING"]=> string(13) "gzip,deflate" ["HTTP_ACCEPT_LANGUAGE"]=> string(23) "en-US,en;q=0.8,fi;q=0.6" ["HTTP_AUTHORIZATION"]=> string(0) "" ["HTTP_CACHE_CONTROL"]=> string(9) "max-age=0" ["HTTP_CONNECTION"]=> string(10) "keep-alive" ["HTTP_COOKIE"]=> string(71) "cpsession=scocta5%3aBcbKZGvPoUCv2Yhb%2c2dc8a5c3bd6713b6ab029f16a46980e7"
我尝试在我的.htaccess中添加以下行:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
要么
RewriteEngine On RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
没有这些设置,Authorization标头根本没有显示在var_dump()上,但现在它只是字符串(0)“”.为什么我的服务器没有获得Authorization标头内容?
解决方法
你可以使用
apache_request_headers功能:
$headers = apache_request_headers(); var_dump($headers['Authorization']);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。