我正在使用来自http://phphttpclient.com/的Httpful PHP库,这是我的示例代码:
$data = array(
'code' => $request->query->get('code'),
'client_id' => $this->container->getParameter('GOOGLE_CLIENT_ID'),
'client_secret' => $this->container->getParameter('GOOGLE_CLIENT_SECRET'),
'redirect_uri' => $google_redirect,
'grant_type' => "authorization_code"
);
$response = Request::post($url)->body($data)->sendsType(Mime::FORM)->send();
var_dump($response);
die();
我的问题是如何添加表单数据。 我试图阅读文档,但我找不到任何解释,只有发送xml和Json示例,但我无法在请求中获得表单数据的正常POST。
有人请帮帮我..答案 0 :(得分:7)
最后我找到了答案,感谢@Xiquid引导我找到答案,这是我使用php httpful rest client发送帖子数据的工作答案:
$google_redirect = $request->getSchemeAndHttpHost().$this->generateUrl('myroutename')."?platform=google";
$url = "https://www.googleapis.com/oauth2/v3/token";
$data = array(
'code' => $request->query->get('code'),
'client_id' => $this->container->getParameter('GOOGLE_CLIENT_ID'),
'client_secret' => $this->container->getParameter('GOOGLE_CLIENT_SECRET'),
'redirect_uri' => $google_redirect,
'grant_type' => "authorization_code"
);
$response = RestRequester::post($url)
->method(Http::POST) // Alternative to Request::post
->withoutStrictSsl() // Ease up on some of the SSL checks
->expectsJson() // Expect HTML responses
->sendsType(Mime::FORM)
->body('grant_type=authorization_code&code='.$data['code']."&client_id=".$data['client_id']."&client_secret=".$data['client_secret']."&redirect_uri=".$data['redirect_uri'])
->send();
var_dump($response);
die();
答案 1 :(得分:0)
这是我发布数据的方式:
$response = \Httpful\Request::post($uri)
->body([
'hello' => 'world',
'lorem' => 'ipsum',
'Date' => '2020-04-29',
], \Httpful\Mime::FORM)
->send();
如果我需要发布JSON:
$response = \Httpful\Request::post($uri)
->sendsJson()
->body([
'hello' => 'world',
'lorem' => 'ipsum',
'Date' => '2020-04-29',
], \Httpful\Mime::JSON)
->send();