Acortar enlaces con shorte.st y el curl en PHP
- Andrés Cruz
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.
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":
Previamente registrado y autenticado procedemos a dar clic en "Tools" > "Developers API" y veremos una pantalla como la siguiente:
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:
$url
: es la URL que queremos recortar.$key
: es nuestra API ID.
Finalmente obteniendo como resultado una URL con el siguiente aspecto:
http://shorte.st/1W8poT
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.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter