百度 API 中 PHP 请求获取 Access Token 返回FALSE
官网给的示例代码, 请求后返回 false 的话, 应该是请求头失败, 请按照下面代码修改自定义函数:
<?php
$url = https://aip.baidubce.com/oauth/2.0/token;
$post_data[grant_type] = client_credentials;
$post_data[client_id] = 你的 Api Key;
$post_data[client_secret] = 你的 Secret Key;
$o = "";
foreach ($post_data as $k => $v) {
$o .= "$k=" . urlencode($v) . "&";
}
$post_data = substr($o, 0, -1);
$res = request_post($url, $post_data);
var_dump($res);
function request_post($url = , $param = )
{
if (empty($url) || empty($param)) {
return false;
}
$postUrl = $url;
$curlPost = $param;
$curl = curl_init(); // 初始化curl
curl_setopt($curl, CURLOPT_URL, $postUrl); // 抓取指定网页
curl_setopt($curl, CURLOPT_HEADER, 0); // 设置header
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 要求结果为字符串且输出到屏幕上
curl_setopt($curl, CURLOPT_POST, 1); // post提交方式
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
######################### 加入这行代码 #########################
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
######################### 加入这行代码 #########################
$data = curl_exec($curl); // 运行curl
curl_close($curl);
return $data;
}
