在发送短信的时候我们经常需要插入链接,如果是我们自己的链接就像老太太的裹脚布,又臭又长的!占字数不说,还不一定能点进去,还有可能被屏蔽,这个时候百度短链就是你最好的选择!(当然还有新浪等短链,只不过小弟选的是百度的)。
老规矩,先上截图,后上代码:
/**
* 生成短链
* @param $LongUrl 长链接
* @return mixed 短链
*/
public function shorturl($LongUrl){
//获取参数
$config = config()['baidu'];
//拼接参数
$bodys = array('Url'=>$LongUrl, 'TermOfValidity'=>'long-term');
//配置headers
$headers= array('Content-Type:'.$config['content_type'], 'Token:'.$config['token']);
//配置参数
$data['url'] = $config['url'];
$data['method'] = $config['method'];
$data['headers']= $headers;
$data['bodys'] = $bodys;
//发送请求获取短链
$result = (array)json_decode($this->curl_post($data));
//返回短链
return $result;
}
/**
* 发送请求
* @param $data 请求参数
* @return bool|string 返回json
*/
protected function curl_post($data)
{
$curl = curl_init($data['url']);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $data['method']);
curl_setopt($curl, CURLOPT_HTTPHEADER, $data['headers']);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data['bodys']));
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
各位看官,看在小弟直接上代码的份上点个赞再走呗!