Sina fournit une API pour convertir des liens longs en liens courts, qui peut convertir des liens longs en liens courts au format t.cn/xxx.
API :
http://api.t.sina.com.cn/short_url/shorten.json (le résultat renvoyé est au format JSON)
http://api.t.sina.com.cn/short_url/shorten.xml (le résultat renvoyé est au format XML)
Paramètres de la requête :
source L'AppKey attribuée lors de la candidature à une candidature représente l'identité unique de l'application lors de l'appel de l'interface.
url_long Les liens longs qui doivent être convertis doivent être codés en URL, avec un maximum de 20.
Plusieurs paramètres d'URL doivent être demandés de la manière suivante : url_long=aaa&url_long=bbb
Créer une méthode source
1. Entrez http://open.weibo.com/ et sélectionnez le menu Micro Connection->Accès au site Web.
2. Cliquez pour accéder maintenant, créez une nouvelle application, remplissez le nom de l'application avec désinvolture et cliquez sur Créer.
3. Une fois la création réussie, AppKey est la valeur du paramètre source, qui peut être utilisée pour demander la création d'un lien court.
Code de test :
<?php$api = 'http://api.t.sina.com.cn/short_url/shorten.json'; // json// $api = 'http://api.t.sina.com.cn/short_url/shorten.xml'; // xml$source = '您申请的AppKey';$url_long = 'http://blog.csdn.net/fdipzone';$request_url = sprintf($api.'?source=%s&url_long=%s', $source, $url_long);$data = file_get_contents($request_url);echo $data;?>
Format JSON de retour
[ { "url_short": "http:\/\/t.cn\/RyVmU5i", "url_long": "http:\/\/blog.csdn.net\/fdipzone", "type": 0 } ]
Format XML de retour
<?xml version="1.0" encoding="UTF-8"?><urls> <url> <url_short>http://t.cn/RyVmU5i</url_short> <url_long>http://blog.csdn.net/fdipzone</url_long> <type>0</type> </url></urls>
Le lien court généré est http://t.cn/RyVmU5i, et l'accès passera à http://blog.csdn.net/fdipzone
La méthode d'appel complète est la suivante :
<?php/** * 调用新浪接口将长链接转为短链接 * @param string $source 申请应用的AppKey * @param array|string $url_long 长链接,支持多个转换(需要先执行urlencode) * @return array */function getSinaShortUrl($source, $url_long){ // 参数检查 if(empty($source) || !$url_long){ return false; } // 参数处理,字符串转为数组 if(!is_array($url_long)){ $url_long = array($url_long); } // 拼接url_long参数请求格式 $url_param = array_map(function($value){ return '&url_long='.urlencode($value); }, $url_long); $url_param = implode('', $url_param); // 新浪生成短链接接口 $api = 'http://api.t.sina.com.cn/short_url/shorten.json'; // 请求url $request_url = sprintf($api.'?source=%s%s', $source, $url_param); $result = array(); // 执行请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $request_url); $data = curl_exec($ch); if($error=curl_errno($ch)){ return false; } curl_close($ch); $result = json_decode($data, true); return $result; }// AppKey$source = '您申请的AppKey';// 单个链接转换$url_long = 'http://blog.csdn.net/fdipzone';$data = getSinaShortUrl($source, $url_long); print_r($data);// 多个链接转换$url_long = array( 'http://blog.csdn.net/fdipzone/article/details/46390573', 'http://blog.csdn.net/fdipzone/article/details/12180523', 'http://blog.csdn.net/fdipzone/article/details/9316385');$data = getSinaShortUrl($source, $url_long); print_r($data);?>
Sortie :
Array( [0] => Array ( [url_short] => http://t.cn/RyVmU5i [url_long] => http://blog.csdn.net/fdipzone [type] => 0 ) )Array( [0] => Array ( [url_short] => http://t.cn/R4qB08y [url_long] => http://blog.csdn.net/fdipzone/article/details/46390573 [type] => 0 ) [1] => Array ( [url_short] => http://t.cn/RGgNanY [url_long] => http://blog.csdn.net/fdipzone/article/details/12180523 [type] => 0 ) [2] => Array ( [url_short] => http://t.cn/R7TrNWZ [url_long] => http://blog.csdn.net/fdipzone/article/details/9316385 [type] => 0 ) )
Cet article explique comment générer des liens courts en appelant l'API Sina via php. Pour plus de contenu connexe, veuillez faire attention à php. Site chinois.
Recommandations associées :
Expliquez la méthode de tri dans MySQL groupe par groupe
Comment utiliser php pour refléter l'API pour obtenir une classe informations
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!