获取请求后,php curl获取重定向的url

时间:2018-04-02 17:14:14

标签: php curl bitbucket bitbucket-api

我正在使用bitbucket api,当我输入以下网址时,我会收到访问令牌:' https://bitbucket.org/site/oauth2/authorize?client_id= {client_id} &安培; RESPONSE_TYPE =代码'它将我重定向到 https://api.bitbucket.org/2.0/repositories/ {my-team} /?code = {code} 我需要从重定向网址获取{code} 我通过以下方式卷曲:

public function getCode()
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, "https://bitbucket.org/site/oauth2/authorize?client_id=".config('app.bitbucket_key')."&response_type=code");

    $result = curl_exec($ch);

    if (curl_errno($ch)) {
        return 'Error: invalid credentials';
    }

    return $result;
}

但结果我成真了。我想在重定向网址中获取代码查询参数。我怎么能这样做

修改

当我查看curl_getinfo()时,我发现它会将我重定向到另一个网址:https://bitbucket.org/account/signin/?next = / site / another2 / authorize%3Fclient_id%3D { my_client_id}%26response_type%3Dcode

1 个答案:

答案 0 :(得分:0)

我对相关的api一无所知,但是要从curl获得html响应,你需要设置return transfer选项。

    curl_setopt($ch,  CURLOPT_RETURNTRANSFER, true);