DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

Categorias
18-02-2016

Hace poco mostramos cómo acortar nuestros enlaces de manera automática con adf.ly mediante un sencillo script de PHP que realiza una petición con curl; ahora explicaremos básicamente el mismo concepto pero con otra alternativa para acortar los enlaces conocida como shortes.sh.

curl: Es una herramienta para la transferencia de archivos mediante una URL compatible con múltiples protocolos como HTTP que es el que nos interesa en este caso.

Wikipedia: cURL

Registrarnos en la página de shorte.st

Como todo servicio que deseemos emplear por primera vez, requiere que nos registremos lo cual podemos hacer desde el siguiente enlace: shorte.st y presionamos sobre el botón "Join":

shorte.st registrar

Previamente registrado y autenticado procedemos a dar clic en "Tools" > "Developers API" y veremos una pantalla como la siguiente:

shorte.st Developers API

A diferencia de adf.ly que ofrecía una interfaz cargado y poco legible, aquí nos muestran los datos que vamos a emplear de una manera más clara; en espedifico nos interesa el token de la API la cual esta asociada a nuestra cuenta.

Armando el curl y obteniendo el enlace acortado con PHP

Tomado lo anterior en consideración, ahora creemos el curl para realizar una petición personalizada a shorte.st y luego esta nos retribuirá el enlace acortado; para eso empleamos el siguiente código:

    static private function shortest($url, $key) {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['public-api-token: '.$key]);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array("urlToShorten" => $url)));
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 2);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_URL, 'https://api.shorte.st/v1/data/url');
        $ret = curl_exec($ch);
        if ($ret === false) {
            return $url;
        }
        curl_close($ch);
        $json = json_decode($ret, true);
        if ($json['status'] == "ok") {
            return $json['shortenedUrl'];
        } else {
            return $url;
        }
    }

En donde:

Finalmente obteniendo como resultado una URL con el siguiente aspecto:

http://shorte.st/1W8poT
Los únicos valores que debes proveer son key que lo puedes obtener desde la página de shorte.st (el Token de la API) y la URL de la página que sees recortar; como ves es muy sencillo emplear la API de shorte.st para acortar nuestros enlaces y generar un ingreso extra.

Fuente del ejemplo

Cabe resaltar que el ejemplo lo tomé desde un foro oficial de la gente de shorte.sh; además el ejemplo que vimos tanto en esta entrada como en la anterior (con adf.ly) es solo una forma de emplear su API; es decir, con cualquier tecnología que permita emplear el HTTP (Java, C#, Android ...) podríamos crear nuestra petición personalizada HTTP y obtener la URL acortada al realizar la petición.


Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

API REST en CodeIgniter

API REST en CodeIgniter

TCPDF: clase Oper Source para generar PDF con PHP

TCPDF: clase Oper Source para generar PDF con PHP

Algunos artículos que te pueden interesar

Los Bundle para modularizar nuestros proyectos en Symfony

Los Bundle para modularizar nuestros proyectos en Symfony

Se explica en qué consiste y cómo emplear y crear los Bundle en Symfony.

Andrés Cruz 20-02-2017

Float en PHP

Float en PHP

Un float o números de punto flotante es un número con signo con parte decimal; la misma regla se aplica para PHP.

Andrés Cruz 22-08-2013

Integer en PHP

Integer en PHP

Un entero o integer por definición es un número con signo sin parte decimal.

Andrés Cruz 17-08-2013