做淘宝客,有些接口的权限没有,找到一个免费提供相关api的接口,请求方式POST,找了一个函数记录一下
/**
* @param $url
* @param $data
* @param string $method
* @param string $type
* @return bool|string
*/
function curlData($url,$data,$method = 'GET',$type='json')
{
//初始化
$ch = curl_init();
$headers = [
'form-data' => ['Content-Type: multipart/form-data'],
'json' => ['Content-Type: application/json'],
];
if($method == 'GET'){
if($data){
$querystring = http_build_query($data);
$url = $url.'?'.$querystring;
}
}
// 请求头,可以传数组
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers[$type]);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行后不直接打印出来
if($method == 'POST'){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST'); // 请求方式
curl_setopt($ch, CURLOPT_POST, true); // post提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // post的变量
}
if($method == 'PUT'){
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
}
if($method == 'DELETE'){
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 不从证书中检查SSL加密算法是否存在
$output = curl_exec($ch); //执行并获取HTML文档内容
curl_close($ch); //释放curl句柄
return $output;
}