使用Guzzle在POST中发送XML数据

时间:2015-11-12 16:13:35

标签: php xml soap guzzle

我正在尝试抓一个网页,我不知道该网站的设计是否糟糕,或者我无法理解这个原则。我正在尝试从服务器请求报告。

最初我尝试从Firefox&截获了数据。它以这种形式向服务器发送POST请求,

https://<site>/alpha/beta?param1=a&param2=b&param3=c

POST数据包含,

Type: text/xml;charset=UTF-8
<soap:Envelope>
<soap:Body>
<GetUpdatedObjects>
<Operation>
<Target>
<Id>Document</Id>
<Type>Document</Type>
</Target>
<Operator>GetPage</Operator>
<Oprand>
<Name>blah...blah</Name>
<Value>2015-11-01</Value>
</Oprand>
</Operation>
</GetUpdatedObjects>
</soap:Body>
</soap:Envelope>

我想知道如何使用Guzzle库发送此请求。它甚至可能吗?因为我有登录&amp;用Guzzle写的其他刮擦功能。任何输入都将是一个很大的帮助。

1 个答案:

答案 0 :(得分:1)

$client = new Client();
$req = new Request('POST', $this->url, $headers, $xml);
$resp = $client->send($req);
var_dump($resp->getBody()->getContents());

但是我遇到了捕获异常和错误的问题--- guzzle6。