0

我正在尝试使批量 bit.ly 更短,从 txt 文件中读取链接列表输出缩短的链接

问题是我不知道该怎么做,如果你太快地建立链接,bit.ly 有一个 api 限制。我发现如果你每秒创建 5 个链接,它应该可以工作。

如何一次缩短 1200 个链接?

   <?php

    $sites = array(   
    'http://api.bit.ly/shorten?version=2.0.1&login=bitlyexample&apiKey=R_8b726077f3d5c6029700c29e529395d3&format=text&longUrl=http://link2.com',
    'http://api.bit.ly/shorten?version=2.0.1&login=bitlyexample&apiKey=R_8b726077f3d5c6029700c29e529395d3&format=text&longUrl=http://link1.com',
    );

    foreach ( $sites as $site ) {
        $shortened_url = file_get_contents($site);
        if($shortened_url)
            echo "$shortened_url <br/>";
    }
    die();
    ?>
4

1 回答 1

0

在 5 个链接休眠 5 秒后使用sleep()(或 API 状态的秒数):

<?php

$sites = array(   
'http://api.bit.ly/shorten?version=2.0.1&login=bitlyexample&apiKey=R_8b726077f3d5c6029700c29e529395d3&format=text&longUrl=http://link2.com',
'http://api.bit.ly/shorten?version=2.0.1&login=bitlyexample&apiKey=R_8b726077f3d5c6029700c29e529395d3&format=text&longUrl=http://link1.com',
);
$i = 0;
foreach ( $sites as $site ) {
    $shortened_url = file_get_contents($site);
    if($shortened_url) {
        echo "$shortened_url <br/>";
    }
    $i++;
    if($i%5 == 0){
         sleep(5);
    }
}
die();
?>
于 2012-09-23T18:13:02.980 回答