Httpful пост и параметры URL - PullRequest
0 голосов
/ 02 мая 2018

Я использую PHP-библиотеку Httpful от http://phphttpclient.com/, вот мой пример кода:

$uri = "https://ideabiz.lk/apicall/token?grant_type=password&username=user&password=pwd&scope=PRODUCTION";

    $response= \Httpful\Request::post($uri)
                ->sendsJson()  
                ->addHeaders(array(
                                'Accept' => 'application/x-www-form-urlencoded',              
                                'Authorization' => 'Basic b28yWTJqNjJoSDN4dHdHNXVkZHhhd2RjWEhrYTp0Zlp5UU1NVEJTcGZiSGFDWFJmQTFvWTJCb2dh',              
                            ))                    
                ->send();  

    echo $response;

Но это ничего не возвращает. (Тело здесь должно быть пустым.) Я пробовал даже так

$url = "https://ideabiz.lk/apicall/token";

    $response = \Httpful\Request::post($url)
                ->sendsJson()
                ->authenticateWith('user', 'pwd')
                ->body('{
                             "grant_type":"password",
                             "scope":"PRODUCTION"
                         }')  
                ->addHeaders(array(
                                'Accept' => 'application/x-www-form-urlencoded',              
                                'Authorization' => 'Basic b28yWTJqNjJoSDN4dHdHNXVkZHhhd2RjWEhrYTp0Zlp5UU1NVEJTcGZiSGFDWFJmQTFvWTJCb2dh',              
                            ))                    
                ->send();  

    echo $response;

Но это ничего не возвращает. Что мне делать ..?

1 Ответ

0 голосов
/ 02 мая 2018

Наконец-то сделал так

$url = "https://ideabiz.lk/apicall/token?grant_type=password&username=tcmolserviceapp&password=Srilanka201804&scope=PRODUCTION";
    $response = \Httpful\Request::post($url)
        ->expectsJSON()
        ->body('')
        ->addHeaders(array(
           'Content-Type' => 'application/x-www-form-urlencoded',
           'Authorization' => 'Basic b28yWTJqNjJoSDN4dHdHNXVkZHhhd2RjWEhrYTp0Zlp5UU1NVEJTcGZiSGFDWFJmQTFvWTJCb2dh'
        ))
        ->send();

   $access_token = $response->body->access_token;

Используется ->expectsJSON() вместо ->sendsJson()

...