HTML の単一ページから百度の短縮 URL API を呼び出して短縮 URL を生成する
11,290 1
少し前に「jQuery でオンライン生成する t.cn 新浪短縮 URL」という記事を書きました。新浪微博の短縮 URL インターフェースを呼び出す内容でしたが、次第に短縮 URL に興味を持つようになり、そこでいくつかの公開されている短縮 URL インターフェースを探してみました。
今日は百度の短縮 URL インターフェースについて説明します。以下では、私の経験した手順と完成したコードを紹介します。(百度の短縮 URL は一部のドメインしかサポートしておらず、具体的なルールはよく分かりません。この記事はあまり実用的ではなく、学習用です)
開始
まず、百度短縮 URL の API リクエスト URL は次のとおりです:http://dwz.cn/create.php
リクエスト方法は post による送信のみ許可されています
リクエストパラメータは url と alias の 2 つで、1 つ目のパラメータは長い URL(必須)、2 つ目のパラメータはカスタム URL(任意)です。
返されるデータ: json 形式のデータ。
status = 0 の場合はエラーです。err_msg を確認するとエラー情報(UTF-8 エンコード)を取得できます。
status = -1 の場合は成功です。生成された tinyurl が短縮 URL です。
完成したコード
PHP PHP
<?php
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,"http://dwz.cn/create.php");
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$data=array('url'=>'http://www.baidu.com/');
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$strRes=curl_exec($ch);
curl_close($ch);
$arrResponse=json_decode($strRes,true);
if($arrResponse['status'] == 0)
{
echo iconv('UTF-8','GBK',$arrResponse['err_msg']);
}
echo $arrResponse['tinyurl'].; //输出短网址
?>
百度の短縮 URL は新浪のものより使いやすいわけではないため、引き続き新浪の短縮 URL サービスを利用することをおすすめします。
コメント
(1)一直用的雷虎短链