无法使用 Guzzle 6 获取 UPS 费率

Unable to get UPS rates using Guzzle 6

我一直在尝试使用 Guzzle 获取 UPS 运费来发出请求,但我不确定我做错了什么。

我正在为请求对象使用 XML,并且同一对象在 cURL 请求中工作正常。但是当用 Guzzle 传递它时,我什么也得不到。

我使用了这两种方法来发出请求:

$this->client = new GuzzleHttp\Client();
$resp = $this->client->request('POST',$url,['Content-Type' => 'text/xml; charset=UTF8'],$schema);

$resp = $this->client->post($url,['body' => $schema]);

然后我尝试从 UPS 获取回复:

$rates = $resp->getBody();

但无论我做什么 $rates 都是空的。

有人知道我做错了什么吗?

事实证明,为了获得响应,您必须使用:

$rates = $resp->getBody()->__toString();

不确定为什么这是必要的,但它有效。