Httpful帖子表单数据

Yus*_*him 5 php post http request httpful

我正在使用来自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();
Run Code Online (Sandbox Code Playgroud)

我的问题是如何添加表单数据.我试图阅读文档,但我找不到任何解释,只有发送xml和Json示例,但我无法在请求中获得表单数据的正常POST.

有人请帮帮我..

Yus*_*him 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();
Run Code Online (Sandbox Code Playgroud)

  • 不要重新声明正文中的数据结构,让php做到: - > body(http_build_query($ data)) (3认同)