【问题标题】:php how to use bearer token in curl get request header?php如何在curl获取请求标头中使用不记名令牌?
【发布时间】:2017-10-29 09:36:12
【问题描述】:

下面是一个有效的 c# 获取请求

public HttpResponseMessage ExecuteEndPoint(string endpoint,string accessTocken) {
            HttpResponseMessage responseMessage = new HttpResponseMessage();
            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessTocken);
                responseMessage = client.GetAsync(endpoint).Result;
            }
            return responseMessage;
        }

我想用 curl 在 php 中做同样的请求,下面是我尝试过的

$request_headers=array();
     $request_headers[]='Bearer: '.$access_token;
    //$request_headers[]='Content-Length:150';
    $handle1=curl_init();
    $api_url='here my api get url';


    curl_setopt_array(
        $handle1,
        array(
                CURLOPT_URL=>$api_url,
                CURLOPT_POST=>false,
                CURLOPT_RETURNTRANSFER=>true,
                CURLOPT_HTTPHEADER=>$request_headers,
                CURLOPT_SSL_VERIFYPEER=>false,
                CURLOPT_HEADER=>true,
                CURLOPT_TIMEOUT=>-1
        )
    );

    $data=curl_exec($handle1);
    echo serialize($data);

看起来 api 没有收到 access_token。 任何帮助表示赞赏。 谢谢

【问题讨论】:

    标签: php curl http-get


    【解决方案1】:

    您还需要指定“授权”...

    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Authorization: Bearer ".$access_token
    ));
    

    【讨论】:

      【解决方案2】:

      $request_headers[] = '承载者:' 。 $access_token;,这似乎是一个错字 ->

      $request_headers[] = '授权:持有者' 。 $access_token; -> 改正一个

      【讨论】:

      • 如果答案正确或帮助您解决问题,请采纳。
      猜你喜欢
      • 2021-03-11
      • 2021-03-09
      • 2020-10-18
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 2021-10-10
      • 2021-12-09
      相关资源
      最近更新 更多