>  기사  >  백엔드 개발  >  PHP를 통해 짧은 링크를 생성하기 위해 Sina API를 호출하는 방법

PHP를 통해 짧은 링크를 생성하기 위해 Sina API를 호출하는 방법

jacklove
jacklove원래의
2018-06-08 17:32:082938검색

Sina는 긴 링크를 짧은 링크로 변환하는 API를 제공하며, 이를 통해 긴 링크를 t.cn/xxx 형식의 짧은 링크로 변환할 수 있습니다.

API:
http://api.t.sina.com.cn/short_url/shorten.json (반환 결과는 JSON 형식)
http://api.t.sina.com.cn / short_url/shorten.xml (반환 결과는 XML 형식)

요청 매개변수:
source 애플리케이션 신청 시 할당된 AppKey는 인터페이스 호출 시 해당 애플리케이션의 고유 ID를 나타냅니다.
url_long 변환해야 하는 긴 링크는 URL 인코딩이 필요하며 최대 20개입니다.

여러 URL 매개변수는 다음 방법을 사용하여 요청해야 합니다. url_long=aaa&url_long=bbb

소스 방법 만들기
1. http://open.weibo.com/을 입력하고 메뉴를 선택합니다. 마이크로 연결 - >웹사이트 액세스.
2. 지금 접속하기를 클릭해 새 애플리케이션을 생성하고, 애플리케이션 이름을 아무렇게나 입력한 후 생성을 클릭합니다.
3. 성공적으로 생성된 후 AppKey는 짧은 링크 생성을 요청하는 데 사용할 수 있는 source 매개변수의 값입니다.
테스트 코드:

<?php$api = &#39;http://api.t.sina.com.cn/short_url/shorten.json&#39;; // json// $api = &#39;http://api.t.sina.com.cn/short_url/shorten.xml&#39;; // xml$source = &#39;您申请的AppKey&#39;;$url_long = &#39;http://blog.csdn.net/fdipzone&#39;;$request_url = sprintf($api.&#39;?source=%s&url_long=%s&#39;, $source, $url_long);$data = file_get_contents($request_url);echo $data;?>

JSON 형식 반환

[
    {
        "url_short": "http:\/\/t.cn\/RyVmU5i",
        "url_long": "http:\/\/blog.csdn.net\/fdipzone",
        "type": 0
    }
]

XML 형식 반환

<?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>

생성된 짧은 링크는 http://t.cn/RyVmU5i이며 액세스는 http://blog.csdn으로 이동됩니다. .net/fdipzone
전체 호출 방법은 다음과 같습니다.

<?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 &#39;&url_long=&#39;.urlencode($value);
    }, $url_long);    $url_param = implode(&#39;&#39;, $url_param); 

    // 新浪生成短链接接口
    $api = &#39;http://api.t.sina.com.cn/short_url/shorten.json&#39;;    // 请求url
    $request_url = sprintf($api.&#39;?source=%s%s&#39;, $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 = &#39;您申请的AppKey&#39;;// 单个链接转换$url_long = &#39;http://blog.csdn.net/fdipzone&#39;;$data = getSinaShortUrl($source, $url_long);
print_r($data);// 多个链接转换$url_long = array(    &#39;http://blog.csdn.net/fdipzone/article/details/46390573&#39;,    &#39;http://blog.csdn.net/fdipzone/article/details/12180523&#39;,    &#39;http://blog.csdn.net/fdipzone/article/details/9316385&#39;);$data = getSinaShortUrl($source, $url_long);
print_r($data);?>

출력:

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
        )

)

이 문서에서는 Sina API를 호출하여 PHP를 통해 짧은 링크를 생성하는 방법을 설명합니다. 자세한 내용은 PHP를 참조하세요. 중국사이트.

관련 추천 :

mysql 그룹 내에서 그룹별로 정렬하는 방법 설명

PHP를 사용하여 API를 반영하여 클래스 정보를 얻는 방법

오프셋이 과도한 이유와 최적화 방법을 자세히 설명 mysql 쿼리 중 성능에 영향을 미침

위 내용은 PHP를 통해 짧은 링크를 생성하기 위해 Sina API를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.