我正在使用Guzzle3(v3.9.3)的项目上工作,我想知道如何发送原始的发帖请求,我已经尝试过这些解决方案,但没有一个适合我。我正在使用Guzzle3 手册。
解决方案:
$client = new Client();
$client->setDefaultOption('headers', array(
'Authorization' => 'Bearer '.$token,
'Accept' => 'application/json'
));
$body = '{"filter_":{"user":{"email":"aaa@test.com"}}}';
$req = $client->post($url, array(), $body,
array(
'cert' => array($certification, 'password'),
)
);
$response = json_decode($client->send($req)->getBody(true));
Run Code Online (Sandbox Code Playgroud)
解决方案2:
$client = new Client();
$client->setDefaultOption('headers', array(
'Authorization' => 'Bearer '.$token,
'Accept' => 'application/json'
));
$body = '{"filter_":{"user":{"email":"aaa@test.com"}}}';
$req = $client->post($url, array(), array(),
array(
'cert' => array($certification, 'password'),
)
);
$req->setBody($body);
$response = json_decode($client->send($req)->getBody(true));
Run Code Online (Sandbox Code Playgroud)
他们都没有为我工作
错误:客户端错误响应[状态码] 404 [原因短语]未找到[URL]
我尝试了一些在Internet上找到的解决方案(但是对于Guzzle6),它可以工作,但是我没有得到正确的结果(它没有考虑我发送的过滤器,这是邮件地址,所以我得到了所有解决方案结果)
...
$body = array(
'filter_' => array(
'user' => array( "email" => $email )
)
);
$req = $client->post($url, array(),array('body'=> $body),
array(
'cert' => array($certification, 'password'),
)
);
...
Run Code Online (Sandbox Code Playgroud)
在邮递员上,WS的工作开始了。
提前致谢
我正在发布回复以防万一有人需要,我必须将所有块放在 try catch 之间
try{
$client = new Client();
$client->setDefaultOption('headers', array(
'Authorization' => 'Bearer '.$token,
));
$body = '{"filter_":{"user":{"email":"aaa@test.com"}}}';
$req = $client->post($url, array(), $body,
array(
'cert' => array($certification, 'password'),
)
);
$response = json_decode($client->send($req)->getBody(true));
catch(Guzzle\Http\Exception\BadResponseException $e){
$response = json_decode($e->getResponse()->getBody(),true);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |