Heim  >  Artikel  >  Backend-Entwicklung  >  So rufen Sie die Sina-API auf, um einen kurzen Link über PHP zu generieren

So rufen Sie die Sina-API auf, um einen kurzen Link über PHP zu generieren

jacklove
jackloveOriginal
2018-06-08 17:32:082938Durchsuche

Sina stellt eine API zum Konvertieren langer Links in kurze Links bereit, die lange Links in kurze Links im Format t.cn/xxx umwandeln kann.

API:
http://api.t.sina.com.cn/short_url/shorten.json (Rückgabeergebnis liegt im JSON-Format vor)
http://api.t.sina.com.cn/short_url/shorten.xml (Rückgabeergebnis liegt im XML-Format vor)

Anfrageparameter:
Quelle Der bei der Beantragung einer Bewerbung vergebene AppKey stellt beim Aufruf der Schnittstelle die eindeutige Identität der Bewerbung dar.
url_long Die langen Links, die konvertiert werden müssen, müssen URL-codiert sein, maximal 20.

Mehrere URL-Parameter müssen auf folgende Weise angefordert werden: url_long=aaa&url_long=bbb

Quellenmethode erstellen
1. Geben Sie http://open.weibo.com/ ein und wählen Sie das Menü Micro Connection->Website Access.
2. Klicken Sie auf „Jetzt zugreifen“, erstellen Sie eine neue Anwendung, geben Sie den Namen der Anwendung ein und klicken Sie auf „Erstellen“.
3. Nach erfolgreicher Erstellung ist AppKey der Wert des Quellparameters, mit dem die Erstellung eines Kurzlinks angefordert werden kann.
Testcode:

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

Gibt das JSON-Format zurück

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

Gibt das XML-Format zurück

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

Der generierte Kurzlink ist http://t.cn/RyVmU5i, der Zugriff erfolgt über http://blog.csdn.net/fdipzone
Die vollständige Aufrufmethode lautet wie folgt:

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

Ausgabe:

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
        )

)

In diesem Artikel wird erläutert, wie Sie kurze Links durch Aufrufen der Sina-API über PHP generieren. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Erklären Sie die Methode zum Sortieren innerhalb von MySQL Gruppe für Gruppe

Wie man PHP verwendet, um die API widerzuspiegeln, um Klasse zu erhalten Informationen

Detaillierte Erläuterung der Gründe und Optimierungsmethoden für übermäßigen Offset, der sich auf die Leistung bei MySQL-Abfragen auswirkt

Das obige ist der detaillierte Inhalt vonSo rufen Sie die Sina-API auf, um einen kurzen Link über PHP zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn