连接到Reed api-php时出现问题
我似乎无法连接到reed api,这里的文档: 它指出:连接到Reed api-php时出现问题,php,api,curl,Php,Api,Curl,我似乎无法连接到reed api,这里的文档: 它指出: You will need to include your api key for all requests in a basic authentication http header as the username, leaving the password empty. 我的代码当前如下所示: $api_key = 'MY-API-KEY'; $url = ' https://www.reed.co.uk/api/1
You will need to include your api key for all requests in a basic authentication http header as the username, leaving the password empty.
我的代码当前如下所示:
$api_key = 'MY-API-KEY';
$url = ' https://www.reed.co.uk/api/1.0/search?keywords=Accounts Assistant&resultsToTake=100&resultsToSkip=0'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, urlencode($url));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Basic '.$api_key
));
$server_output = curl_exec($ch);
curl_close($ch);
var_dump($server_output);
输出总是:
bool(false)
我错过了什么吗?还有其他人可以连接吗?
我已经在我的浏览器中直接尝试了这个url,在弹出的身份验证框中使用了我的api密钥之后,它就工作了,所以我知道url和api密钥是正确的。请查看这个答案()
我试图访问里德的网站,它似乎也要求一个用户名。Basic auth也是base64编码的,因此,如果不需要用户名,则以下代码段适用于您:
curl\u setopt($ch,CURLOPT\u HTTPHEADER,数组(
“授权:基本”。base64_编码($api_密钥)
));
最简单的方法是使用邮递员。一旦你调整了你的查询,它会给你许多编程语言中的代码片段
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://www.reed.co.uk/api/1.0/search?keywords=accountant&location=london",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"authorization: Basic YOUR-AUTOMATICALLY-ENCODED-API-KEY-BY-POSTMAN",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
邮递员代码包括(,“邮递员令牌:xxxxxxx-xxxx-xxx-xx-xx”)。删除它。这是URL参数中的空格 应该是:
$url = 'https://www.reed.co.uk/api/1.0/search?keywords=Accounts%20Assistant&resultsToTake=100&resultsToSkip=0'
您的连接正确吗?对不起,这是什么意思?您的授权标题可能应该是
“authorization:Basic”.base64\u encode($your\u api\u key.:”)
。false表示连接失败。您是否能正常工作?您是否在删除空间之前和之后测试了您的解决方案?是,两种方法都进行了测试,是空间给我造成了错误。我一删除空间,API就可以很好地工作了。我现在确保首先对关键字字符串进行URL编码。