在 ZF2 控制器中获取请求授权标头

2024-03-04

我正在使用 ZF2,出于某种原因,我可以获取我发送的所有标头(授权标头除外) - 就像它被过滤掉一样。

我试图获取控制器中的所有标头,如下所示:

    public function createAction($data) 
    {
        $request  = $this->request;
        print_r ($request->getHeaders());
        exit();

    }

我通过 cURL 发送请求,如下所示:

curl -i -H "Accept: test" -H "Authorization: 123456" -H "Content-Type: qwerty" -X POST http://localhost/test

除授权标头外,所有标头都会打印出来。我可以添加任意标头并将其打印出来 - 只是没有“授权”标头...

我还尝试使用 get()/has() 获取授权标头,但它不存在。


对我来说效果很好(ZF2 版本 2.1.4):

curl -i -H "Accept: test" -H "Authorization: 123456" -X POST http://zf2.localhost

结果是:

HTTP/1.1 200 OK
Date: Thu, 11 Apr 2013 09:44:45 GMT
Server: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
X-Powered-By: PHP/5.4.7
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-ch
Pragma: no-cache
Content-Length: 843
Content-Type: text/html

object(Zend\Http\Headers)#168 (3) {
  ["pluginClassLoader":protected]=>
  NULL
  ["headersKeys":protected]=>
  array(4) {
    [0]=>
    string(9) "useragent"
    [1]=>
    string(4) "host"
    [2]=>
    string(6) "accept"
    [3]=>
    string(13) "authorization"
  }
  ["headers":protected]=>
  array(4) {
    [0]=>
    array(2) {
      ["name"]=>
      string(10) "User-Agent"
      ["line"]=>
      string(23) "User-Agent: curl/7.26.0"
    }
    [1]=>
    array(2) {
      ["name"]=>
      string(4) "Host"
      ["line"]=>
      string(24) "Host: zf2.localhost"
    }
    [2]=>
    array(2) {
      ["name"]=>
      string(6) "Accept"
      ["line"]=>
      string(12) "Accept: test"
    }
    [3]=>
    array(2) {
      ["name"]=>
      string(13) "Authorization"
      ["line"]=>
      string(21) "Authorization: 123456"
    }
  }
}

使用以下代码:

$request  = $this->getRequest();
var_dump($request->getHeaders());

使用以下命令获取值:

$authVal = $request->getHeaders('authorization')->getFieldValue();

希望这可以帮助 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ZF2 控制器中获取请求授权标头 的相关文章

  • Zend Framework 2 在视图中显示视图

    我有两个模块管理和登录 我想在管理视图 index html 中显示登录视图 login phtml 我在管理模块indexAction控制器中有以下内容 public function indexAction login new Logi
  • 如何使用批处理脚本调用的curl 获取http post 请求的响应代码?

    我正在努力为从我们的工具之一发送 http post 请求提供支持 该工具基本上通过 http 请求执行作业 实现此目的的方法是该工具使用多个参数调用 RunScript bat 该脚本解析这些参数并在验证后发出curl post 请求 P
  • 无法安装 WWW::Curl::Easy: SZBALINT/WWW-Curl-4.17.tar.gz : make NO

    我正在尝试在我的 Fedora 26 机器上安装 WWW Curl Easy gcc c I usr include D REENTRANT D GNU SOURCE O2 g pipe Wall Werror format securit
  • 如何让 Zend Framework 2 beta4 中的服务管理器为专辑表创建实例?

    这是 Rob Allen 的 Zend Framework beta4 快速入门教程 错误消息 Zend ServiceManager ServiceManager get 无法获取或创建专辑表实例 尝试连接到数据库似乎失败 但我还没有找到
  • ASP.NET 中 HTTP 缓存相关标头的有效含义

    我正在 ASP NET 2 0 中开发一个 Web 应用程序 其中涉及通过资源处理程序 ashx 提供图像 我刚刚实现了处理缓存标头和条件 GET 请求 这样我就不必为每个请求提供所有图像 但我不确定我是否完全理解浏览器缓存发生了什么 图像
  • 面向服务的架构 - AMQP 或 HTTP

    一点背景 非常大的整体 Django 应用程序 所有组件都使用相同的数据库 我们需要分离服务 以便我们可以独立升级系统的某些部分而不影响其余部分 我们使用 RabbitMQ 作为 Celery 的代理 现在我们有两个选择 使用 REST 接
  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • 如何在flutter项目中使用http拦截器?

    我必须向我的所有 Api 添加标头 有人告诉我为此使用 http 拦截器 但我无法理解如何做到这一点 因为我是颤振的新手 谁能帮我举个例子吗 您可以使用http 拦截器 https pub dev packages http interce
  • php 或 zend 中国际电话号码验证的正则表达式是什么?

    我有一个 zend 表单 其中有一个电话号码字段 并且必须检查验证器 我决定为此使用正则表达式 我搜索了谷歌 但我得到的结果不起作用 谁能给我提供正则表达式 这是我的代码 phone new Zend Form Element Text p
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck
  • 用 C++ 解析 HTTP 标头

    我正在使用curl 与服务器通信 当我发出数据请求时 我收到 HTTP 标头 后跟由边界分隔的 jpeg 数据 如下所示 我需要解析出 边界字符串 内容长度 我已将传入数据复制到 char 数组 如下所示 static size t OnR
  • 从 PCAP 嗅探重建数据

    我试图通过 libpcap 嗅探 HTTP 数据 并在处理 TCP 有效负载后获取所有 http 内容 标头 有效负载 根据我的讨论编写 http 嗅探器 或任何其他应用程序级嗅探器 https stackoverflow com ques
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • Angular 2 - Http - 正确忽略空结果

    我有很多处理请求并简单返回 200 的 REST 端点 我注意到将结果映射为错误json 如果我尝试不进行任何类型的映射 我会看到浏览器警告它无法解析 XML 由于不返回任何内容是很常见的 我很好奇我应该如何处理响应 这是一个基本的代码示例
  • 无法在 Zend Framework 中回滚事务

    我在 Zend Framework 中使用以下代码进行事务 但回滚功能不起作用 数据通过 insertSome data 插入数据库 怎么了 db gt beginTransaction try model gt insertSome da
  • 自定义 HTTP 标头:命名约定

    我们的一些用户要求我们将与其帐户相关的数据包含在HTTP 标头我们向他们发送的请求 甚至是他们从我们的 API 获得的响应 添加自定义 HTTP 标头的一般约定是什么 naming format etc 另外 请随意发布您在网络上偶然发现的
  • 为什么我的 Github 托管网站响应 HTTP 302 而不是 200?

    我拥有该域名penkov id au http penkov id au 我主持一个blog http michael penkov id au blog 2014 01 02 reinventing the wheel html usin
  • 卷曲选项 -:未知

    我运行此命令在 ubuntu 18 04 上安装更新版本的 nodejs curl sL https deb nodesource com setup 12 x sudo E bash 我收到错误 curl 选项 未知 我在多个系统上尝试过
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 适用于 Objective-C / iPhone 的良好 HTTP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 UPDATE 这个问题显然已经过时了 参见日期 我建议只使用现代 iOS7 功能 例如 NSURLSession 我想 这个问题是为了历史

随机推荐

  • 在 MySQL 和 Python 中以可重复的方式处理 1970 年之前的日期

    在我的 MySQL 数据库中 我的日期可以追溯到 1700 年代中期 我需要以某种方式将其转换为类似于 Unix 时间的格式的整数 int 的值并不重要 只要我可以从数据库或用户输入中获取日期并生成相同的 int 即可 我需要使用 MySQ
  • 使用 OWIN 将 Web API 作为 Windows 服务托管

    我正在尝试使用 OWIN 将 Web API 应用程序作为 Windows 服务运行 但是 在尝试启动服务时 我收到以下消息 本地计算机上的 ServiceName 服务启动然后停止 如果其他服务或程序未使用某些服务 则会自动停止 由于某种
  • timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP 在一台机器上可以为空,但在另一台机器上不能为空?

    我有一个 MySql 表 其字段定义为 created timestamp NOT NULL DEFAULT CURRENT TIMESTAMP 在我的本地计算机上 我可以运行 INSERT INTO mytbl id user id cr
  • Javafx连接多个StringProperty

    有没有一种简单的方法来绑定 StringProperty 对象的串联 这是我想做的 TextField t1 new TextField TextField t2 new TextField StringProperty s1 new Si
  • R 中更快的模数或相等检查(或矢量化的好方法)

    我一直在运行欧拉项目 试图编写计算效率高的程序 考虑问题1 http projecteuler net problem 1 http projecteuler net problem 1 我将范围从 1000 提高到 10 000 000
  • 如何搜索按字母顺序排列的六个字母的单词

    我最近创建了一个 Perl 脚本 使用以下代码搜索以 D 和 E 开头的单词 infile words txt open IN infile count 0 while word
  • 如何使用带有专有java后端文档系统的MS Office

    目前我有一个文档系统 可以在 iframe 中启动 Star Office 或 LibreOffice 中的文档 展望未来 我理想地希望保留现有的文档系统 但将其集成到 SharePoint 中 以便我们能够使用 MS Office 打开和
  • Android - 从通知中删除操作按钮

    我想在单击这些操作按钮时关闭通知操作按钮 而不是整个通知 比方说 带有停止操作按钮的下载通知 单击停止时 关闭停止按钮并将 contentText 更改为 下载已取消 我唯一想到的是取消通知并通知具有相同 id 的另一个通知 但这似乎是一个
  • 链接器错误“包含无效的 OMF 记录”2

    我正在使用 Embarcadero XE8 C 构建器 32 位 我正在向我的程序添加一个库来解决Unresolved external error 当我添加库时 出现如标题所示的错误 于是我上网搜索了一下 在stackoverflow上找
  • C++ 类作为 Objective-C 类的实例变量

    我需要混合 Objective C 和 C 我想将所有 C 内容隐藏在一个类中 而将所有其他内容保留为纯 Objective C 问题是我想要一些 C 类作为实例变量 这意味着它们必须在头文件中提及 头文件会被其他类包含 并且 C 开始传播
  • 为什么从实例获取类属性会引发 AttributeError?

    通常 您可以从该类的实例访问常规类属性 字段 然而 当尝试访问一个类时property 会引发 AttributeError 为什么实例看不到类对象的属性 class Meta type property def cls prop cls
  • 扭曲的 dns 不起作用

    我想知道为什么以下不起作用 from twisted internet import defer reactor from twisted python failure import Failure import twisted names
  • 有没有类似于 LinkedIn Engineering 发布的案例研究?

    LinkedIN Engineering 发布了一系列关于他们在开发 iPad 混合移动应用程序时的经验和发现的精彩案例研究 http engineering linkedin com mobile linkedin ipad native
  • RegisterHotKey 不适用于不可见表单 (c#)

    我试图在系统托盘中放置一个图标 然后为其提供一个全局键盘快捷键来执行某项功能 我使用 RegisterHotKey 设置全局键盘快捷键 如果与图标关联的主窗体可见 则它可以工作 但如果窗体不可见 则永远不会调用 WndProc 方法 有任何
  • 谁分享了我的 Facebook 帖子?

    使用任何适用于 Python 的 Facebook API 我试图获取分享我的帖子的人数以及这些人是谁 我目前有第一部分 gt gt gt from facepy import gt gt gt graph GraphAPI CAAEr g
  • monodevelop 3 - 支持“附加到进程”

    MonoDevelop 3 支持附加到进程吗 如果是这样 有人可以指出它在哪里或任何可能的解决方法 简短的回答是 不 据我所知不是 但是 如果您希望在不从 MonoDevelop 启动项目的情况下进行调试 则可以选择使用此处描述的软调试器
  • 将 xtext 编辑器支持与外部 ANTLR 解析器链接起来

    我当前的项目 将其命名为 IoTSuite 采用高级规范 解析它们 并生成 Java 和 Android 代码 在这个项目中 我编写了 ANTLR 语法来解析高级规范 并使用 StringTemplate 作为代码生成器 然而 由于良好的编
  • 使用自定义 Maven 插件“无法设置 org.eclipse.aether.spi.log.Logger”

    我写了一个小的自定义 Maven 插件 它运行良好 大多数时候 使用它时 它被配置为在测试阶段运行 并且我看到它正在执行 没有问题 现在问题来了 当我这样做时mvn 干净安装 or mvn 干净部署在使用该插件的项目中 它失败并显示一条我无
  • 加密 AES/CBC/PKCS7Padding

    帮我加密一下AES CBC PKCS7Padding 下面是我的解密代码AES CBC PKCS7 它正在工作 但是当我加密一些字符串并从我自己解密时 这是错误的 下面我添加代码来加密和解密 AES CBC PKCS7Padding NSD
  • 在 ZF2 控制器中获取请求授权标头

    我正在使用 ZF2 出于某种原因 我可以获取我发送的所有标头 授权标头除外 就像它被过滤掉一样 我试图获取控制器中的所有标头 如下所示 public function createAction data request this gt re