无法使用 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();
不确定为什么这是必要的,但它有效。
我一直在尝试使用 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();
不确定为什么这是必要的,但它有效。