Я создал ссылку bit.ly, используя следующий код
function make_bitly_url($url,$format = 'xml',$version = '2.0.1')
{
$login="urlogin";
$appkey="ur_api_key";
$bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format;
$response = file_get_contents($bitly);
$xml = simplexml_load_string($response);
return $response;
}
Я получаю ответ успешно, как укороченный URL, но при нажатии на него будет отображаться оригинальный URL в браузере в адресной строке URL
Как упомянуто в комментариях GolezTrol, цель ссылок Bitly — предоставить короткий URL, который регистрирует трафик кликов и перенаправляет пользователей на желаемые длинные URL-адреса. Битовые ссылки не маскируют длинные URL-адреса, на которые они указывают.
Это в сочетании с коротким временем, необходимым для перенаправления (обычно < 200 мс) означает, что вы обычно не видите Bitly URL в адресной строке браузера.
увидеть https://stackoverflow.com/a/41680608/7426396
Я реализовал, чтобы получить каждую строку простого текстового файла с одним сокращенным URL на строку, соответствующим URL перенаправления:
<?php
// input: textfile with one bitly shortened url per line
$plain_urls = file_get_contents('in.txt');
$bitly_urls = explode("\r\n", $plain_urls);
// output: where should we write
$w_out = fopen("out.csv", "a+") or die("Unable to open file!");
foreach($bitly_urls as $bitly_url) {
$c = curl_init($bitly_url);
curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36');
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($c, CURLOPT_HEADER, 1);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 20);
// curl_setopt($c, CURLOPT_PROXY, 'localhost:9150');
// curl_setopt($c, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$r = curl_exec($c);
// get the redirect url:
$redirect_url = curl_getinfo($c)['redirect_url'];
// write output as csv
$out = '"'.$bitly_url.'";"'.$redirect_url.'"'."\n";
fwrite($w_out, $out);
}
fclose($w_out);
Веселись и наслаждайся!
PW