在创建短网址之前/之后,Bit.ly API调用命中原始网址

时间:2019-06-14 07:11:54

标签: php curl bit.ly

我正在使用v3 API生成Bit.ly短网址。 在原始网址中,点击后有一些数据库操作。但是当我生成bit.ly网址时,它会自动命中原始网址。

  

检查我下面的bit.ly api调用代码。

$url = 'http://api.bit.ly/v3/shorten?login='.BITLYAPICALLLOGIN.'&apiKey='.BITLYAPICALLAPIKEY.'&uri='.urlencode($longurl).'&format=json';

$s = curl_init();  
curl_setopt($s,CURLOPT_URL, $url);  
curl_setopt($s,CURLOPT_HEADER,false);  
curl_setopt($s,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($s,CURLOPT_CONNECTTIMEOUT,2); 
$result = curl_exec($s);  
curl_close( $s );

我们可以避免从bit.ly进行自动URL调用吗?

2 个答案:

答案 0 :(得分:2)

Bitly确实获取Bitlink的长URL来检索页面标题和相关信息。我们的要求尊重robots.txt标准(http://www.robotstxt.org)。

如果您希望请求我们的系统停止发出这些请求,则可以通过在相应域上更新robots.txt文件来实现。请注意,我们确实将网站的robots.txt缓存了24小时,因此更改生效需要一天的时间。

禁用此行为的robots.txt节是:

User-agent: bitlybot
Disallow: /

我还建议将API更新到V4,因为它是最新的和最出色的:https://dev.bitly.com

答案 1 :(得分:1)

我没有添加/编辑robots.txt的权限, 而是我想出了代码内部的解决方案(用PHP编写)。 在文件顶部添加了以下代码段,只是为了阻止bitlybot进行任何操作。

if (strpos($_SERVER['HTTP_USER_AGENT'], 'bitlybot') !== false) {
    exit();
}