将curl示例转换为Requests util use

时间:2018-07-18 08:29:00

标签: php http curl

我将Requests用于http请求:

我还将其打包为util函数:

function http_util($url, $params, $add_headers = null, $base_url = null ){

    $headers = array('Accept'=>'application/json');

    if($add_headers){
        $headers = array_merge($headers, $add_headers);
    }

    if($base_url) {
        $url = $base_url . $url;
    }

    $request = Requests::post($url, $headers, $params);

    return $request;
}

但我发现了例如curl示例:

curl -X POST -d "grant_type=password&username=<user_name>&password=<password>" -u"<client_id>:<client_secret>" http://localhost:8000/o/token/

如果curl示例转换为使用我的http_util,如何使用?我不确定我的http_util是否将执行更多优化操作。以及如何使用http_util请求curl示例?

1 个答案:

答案 0 :(得分:1)

您不能按原样使用它,您需要按照文档中的说明添加$options参数:http://requests.ryanmccue.info/docs/authentication.html

“ util”功能只是设置内容Accept头。不值得为此编写函数。

$result = Requests::post('http://localhost:8000/o/token' [
    // headers
    'Accept' => 'application/json'
 ], [
    // data
    'grant_type' => 'password',
    'username' => '<user_name>',
    'password' => '<password>',
], [
    // options
    'auth' => new Requests_Auth_Basic(['<client_id>', '<client_secret>'])
]);