将 curl 转换为 guzzle
convert curl to guzzle
我有这个完美运行的 curl 命令:
curl -i --data "site=walletgroove.com&placement=above&device=desktop&source=*&campaign=*&url=*&country=*&active=1" http://10.0.0.38/adserver/src/public/api/rule
我试着用 guzzle 来执行,但由于某种原因,我的代码中不断出现错误,一个异常更准确。当参数未正确传递时会抛出此异常。
这是我为数不多的尝试之一:
public function testApi_postRule()
{
$client = new Client();
$client->post('http://10.0.0.38/adserver/src/public/api/rule',[ 'query' => [
'site' => 'walletgroove.com',
'placement' => 'guzzle_unique_placement',
'device' => 'desktop',
'source' => 'guzzource',
'campaign' => '*',
'country' => '*',
'url' => '*',
'active' => '1'
]]);
}
知道我在这里做错了什么吗??
您正在传递 query
参数,该参数附加查询字符串而不是在请求正文中发送。对于 POST 请求,您可能希望使用 form_params
,如 documentation.
中所示
$client->post('http://10.0.0.38/adserver/src/public/api/rule', [
'form_params' => [
'site' => 'walletgroove.com',
'placement' => 'guzzle_unique_placement',
'device' => 'desktop',
'source' => 'guzzource',
'campaign' => '*',
'country' => '*',
'url' => '*',
'active' => '1'
]
]);
我有这个完美运行的 curl 命令:
curl -i --data "site=walletgroove.com&placement=above&device=desktop&source=*&campaign=*&url=*&country=*&active=1" http://10.0.0.38/adserver/src/public/api/rule
我试着用 guzzle 来执行,但由于某种原因,我的代码中不断出现错误,一个异常更准确。当参数未正确传递时会抛出此异常。
这是我为数不多的尝试之一:
public function testApi_postRule()
{
$client = new Client();
$client->post('http://10.0.0.38/adserver/src/public/api/rule',[ 'query' => [
'site' => 'walletgroove.com',
'placement' => 'guzzle_unique_placement',
'device' => 'desktop',
'source' => 'guzzource',
'campaign' => '*',
'country' => '*',
'url' => '*',
'active' => '1'
]]);
}
知道我在这里做错了什么吗??
您正在传递 query
参数,该参数附加查询字符串而不是在请求正文中发送。对于 POST 请求,您可能希望使用 form_params
,如 documentation.
$client->post('http://10.0.0.38/adserver/src/public/api/rule', [
'form_params' => [
'site' => 'walletgroove.com',
'placement' => 'guzzle_unique_placement',
'device' => 'desktop',
'source' => 'guzzource',
'campaign' => '*',
'country' => '*',
'url' => '*',
'active' => '1'
]
]);