我有一个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就像是这样:
{"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));
答案 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");