【问题标题】:How to get http request headers used by SoapClient?如何获取 SoapClient 使用的 http 请求标头?
【发布时间】:2016-11-15 11:01:02
【问题描述】:

我想检查通过 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 处丢失上下文,并且客户端似乎无法自行获取该信息。

如何进行?

【问题讨论】:

    标签: php soap http-headers soap-client


    【解决方案1】:

    我最终使用了 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 ...
    

    当然,响应会是一个错误,但我对此不感兴趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2016-01-29
      相关资源
      最近更新 更多