Php 缩短url“;“bit.ly”;浏览器中未显示链接

Php 缩短url“;“bit.ly”;浏览器中未显示链接,php,codeigniter,web,bit.ly,Php,Codeigniter,Web,Bit.ly,我使用以下代码创建了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='.url

我使用以下代码创建了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

再加上重定向所需的时间很短(通常<200ms),这意味着您通常不会在浏览器的位置栏中看到Bitly url。

请参见

我实现了在纯文本文件的每一行获取一个url,每一行有一个缩短的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);

bit.ly url的概念是它重定向到完整的url。您能否改为查看
$response
的内容?