CURL请求后未生成访问码

时间:2019-04-07 07:15:32

标签: php curl libcurl

我有一个URL,如果我使用该URL向浏览器请求,它将在浏览器标题栏中生成一个代码,但是每当我通过CURL请求时,它就会显示

<?php

$url      = "https://api.upstox.com/index/dialog/authorize";
$api_key  = "QO3HIIzsAM4qjEucQkyHB2Fn1cM7VnyjPJV";
$uri      = "http://127.0.0.1:3000/";
$username   = "QO3HIIzsAM4qjEucQkynxbZn1cM7VnyjPJV";
$password   = "b3zprt3";


$data = array("apiKey" => $api_key, "redirect_uri" => 
"http://127.0.0.1:3000/","response_type" => "code");
$data_string = json_encode($data);

$curl     = curl_init();

curl_setopt_array($curl, array(

CURLOPT_URL             => $url,
CURLOPT_USERPWD         => "$username:$password",
CURLOPT_RETURNTRANSFER  => true,
CURLOPT_HEADER          =>  0,
CURLOPT_POSTFIELDS     => $data_string,
));

$result = curl_exec($curl);
//curl_close($curl);
var_dump($result);

?>

实际的URl就像是这样:

  

https://api.upstox.com/index/dialog/authorize?apiKey=QO3HIIzsAM4qjEucQkyHB2Fetytg1cM7VnyjPJV&redirect_uri=http://127.0.0.1:3000/&response_type=code

{"message":"'UU8zSElJenNBTTRxakV1Y1FreUhCMkZlbnhiWm4xY003Vm55alBKVjpiM3pwcnplcnQz' not a valid key=value pair (missing equal-sign) in Authorization header: 'Basic UU8zSElJenNBTTRxakV1Y1FreUhCMkZlbnhiWm4xY003Vm55alBKVjpiM3pwcnplcnQz'."}

运行该代码后,我得到以下消息:

    /**
     * @param {number[]} nums
     * @param {number} target
     * @return {number[]}
     */
            var twoSum = function(nums, target) {
            var dic = new dDictionary<int, int>();
            for (var i=0; i<nums.length - 1; i++)
                {
                    var remind = target - nums[i];
                    if(dic.containt[remind])
                        {
                            return [i, dic.containt[remind]];
                        }
                        else{
                            dic.add(remind, i);
                        }
                };
            console.log(twoSum([3, 3], 6));

1 个答案:

答案 0 :(得分:0)

您可以使用:

curl_setopt($curl, CURLOPT_HTTPHEADER, [ "Authorization: Basic ".base64_encode($this->username.":".$this->password), ]);

或添加此内容:

curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");