PHP中的Guzzle Url问题
我正在使用API请求 我调用的API url看起来像:PHP中的Guzzle Url问题,php,guzzle,Php,Guzzle,我正在使用API请求 我调用的API url看起来像:base\u url/order/11111?param=1¶m2=2 这是我的代码: try{ $data = http_build_query([ 'amount' => 500, 'products' => $order['products'], 'currency' => 'EURO' ], '', '&');
base\u url/order/11111?param=1¶m2=2
这是我的代码:
try{
$data = http_build_query([
'amount' => 500,
'products' => $order['products'],
'currency' => 'EURO'
], '', '&');
$client->request('GET', $base_url"/order/{$order['id']}?".$data, [
'connect_timeout' => 3,
'timeout' => 3
]);
}catch(Exception $er){
var_dump($er);
}
我总是在例外中结束,并得到我的url。。。。导致404未找到
。因为在$order['id']
之后添加了一个额外的\
因此,我的url看起来像base\u url/order/11111\?param=1¶m2=2
,它将在浏览器中像base\u url/order/11111/?param=1¶m2=2
我还尝试将
查询
参数添加到请求中。结果是一样的。有没有办法删除额外的\
?或者你能告诉我添加它的原因吗 $order['id']
实际上是以\结尾还是来自其他地方?确实要使用&代码>作为分隔符?这并不能解释为什么要添加一个额外的斜杠,但它看起来并不正确。@apokryfos它只是一个斜杠integer@iainn,我不认为这是问题所在,但你的想法是什么?:)你能分享一下吗?谢谢检查远程服务器上是否有添加尾部斜杠的重定向。设置选项“allow_redirects”=>false
,查看是否收到重定向响应,如果收到,请联系API提供商,让他们知道您遇到了问题。这可能只是第三方API上的一个bug