Me gustó, gracias por compartirlo y por tu explicación. Como soy nuevo me puse a buscar en internet y tambien me tope con el mismo script pero en lenguaje PHP, aqui se los comparto.
Código: php
Fuente: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Saludos
<?php
function request( $url ) {
$ua = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1712.4 Safari/537.36';
if ( !preg_match( '/^[a-zA-Z0-9\/]+$/', $url ) )
return false;
$ch = curl_init();
curl_setopt_array( $ch, array(
CURLOPT_FAILONERROR => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_USERAGENT => $ua,
CURLOPT_URL => 'http://adf.ly/' . $url
) );
$data = curl_exec( $ch );
curl_close( $ch );
if ( preg_match( "#var ysmm = '([a-zA-Z0-9+/=]+)'#", $data, $matches ) ) {
$final = $url = decode( $matches[1] );
// check for redirects
$ch = curl_init();
curl_setopt_array( $ch, array(
CURLOPT_FAILONERROR => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_NOBODY => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_USERAGENT => $ua,
CURLOPT_URL => $url
) );
$data = curl_exec( $ch );
if ( preg_match_all( '/Location:\s*(.+)\s*$/im', $data, $matches, PREG_SET_ORDER ) ) {
$last = array_pop( $matches );
$final = trim( $last[1] );
}
return array( $url, $final );
}
return false;
}
function decode( $ysmm ) {
$left = '';
$right = '';
for ( $i = 0; $i < strlen( $ysmm ); $i++ ) {
if ( $i % 2 == 0 ) {
$left .= $ysmm[$i];
} else {
$right = $ysmm[$i] . $right;
}
}
return substr( base64_decode( $left . $right ), 2 );
}
if ( isset( $_GET['url'] ) && $_GET['url'] ) {
// strip out beginning (everything up to last slash)
$stripped = '';
$slashes = explode( '/', $_GET['url'] );
$stripped = array_pop( $slashes );
list( $url, $final ) = request( $stripped );
if ( $url ) {
echo '<p>Your URL is <a href="' . $url . '">' . $url . '</a>';
if ( $url != $final ) {
echo ' (<a href="' . $final . '">' . $final . '</a>)';
}
echo '</p>';
} else {
// try 2 parts
$stripped = array_pop( $slashes ) . '/' . $stripped;
list( $url, $final ) = request( $stripped );
if ( $url ) {
echo '<p>Your URL is <a href="' . $url . '">' . $url . '</a>';
if ( $url != $final ) {
echo ' (<a href="' . $final . '">' . $final . '</a>)';
}
echo '</p>';
} else {
echo '<p>Adf.ly URL not found</p>';
}
}
}
?>
Fuente: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Saludos
