얼마 전 「jQuery 온라인으로 t.cn 시나 단축 URL 생성」이라는 글을 쓴 적이 있습니다. 시나 웨이보의 단축 URL 인터페이스를 호출하는 내용이었는데, 점점 단축 URL 분야에 관심이 생겨서 일부 공개된 단축 URL 인터페이스를 따로 찾아보았습니다.
오늘 말씀드릴 것은 바이두의 단축 URL 인터페이스입니다. 아래에 제 경험 과정과 완성된 코드를 공유하겠습니다. (바이두 단축 URL은 일부 도메인만 지원하며, 구체적인 규칙은 잘 모르겠습니다. 이 글은 실용성이 크지 않고 학습용으로만 참고하시기 바랍니다.)
시작
먼저 바이두 단축 URL의 API 요청 URL은 다음과 같습니다: http://dwz.cn/create.php
요청 방식은 post 제출만 허용됩니다.
요청 매개변수는 url과 alias 두 가지이며, 첫 번째 매개변수는 긴 URL(필수), 두 번째 매개변수는 사용자 지정 URL(선택 사항)입니다.
반환 데이터: json 형식의 데이터입니다.
status = 0이면 오류가 발생한 것이며, err_msg를 확인하여 오류 정보(UTF-8 인코딩)를 확인할 수 있습니다.
status = -1이면 성공한 것이며, 반환된 tinyurl이 바로 단축 URL입니다.
완성된 코드
<?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 서비스를 사용하는 것을 권장합니다.