如何获取SoapClient使用的http请求标头?

时间:2016-11-15 11:01:03

标签: php soap http-headers soap-client

我想检查通过SoapClient发送的http标头。

然而它只提供快速获取Soap标头的功能:

/**
 * Returns the SOAP headers from the last request
 * @link http://php.net/manual/en/soapclient.getlastrequestheaders.php
 * @return string The last SOAP request headers.
 * @since 5.0.1
 */
public function __getLastRequestHeaders () {}

我对那些不感兴趣。

如何在HTTP级别找出用于请求的http标头?

Xdebug在_call丢失了上下文,客户端似乎无法自己获取该信息。

如何进行?

1 个答案:

答案 0 :(得分:0)

我最终使用Wireshark。我将我的SoapClient配置为仅针对我的本地IP发布,对我而言是10.49.57.28。

我抓住了any界面。

首先我必须通过以下方式启用协议:Ctrl + Shift + E.我选择了“全部启用”。

我使用过滤器:

http.request.method == "POST" and ip.addr == 10.49.57.28

我右键点击相关请求并使用:

关注> TCP流

我收到了所有相关的请求信息:

POST / HTTP/1.1
Host: 10.49.57.28
Accept: */*
Accept-Encoding: deflate, gzip
SOAPAction: ""
Content-Type: text/xml; charset=utf-8
Content-Length: 2085
Expect: 100-continue

HTTP/1.1 100 Continue

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope ...

当然,回复是错误的,但我对此并不感兴趣。