ASP.NET如何通过第三方网站Bitly实现短链接地址程序
创始人
2024-11-28 11:22:17
0次

发微博很久了,或许是我之前没注意,现在特别关注那个微博中的图片链接和URL链接,总给我看不懂但是又那么短的感觉,反正不是我上传的地址,其实这里使用一个短链接服务功能,这里拿出来晒晒。

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

这里看看是指向淘宝的一个商品页面,链接地址是这样的 ,但是现在在微博中变成了红圈表名的那个样子,似乎看不懂了,而且你点击之后还是到你原有的页面。这里就是使用了短链接程序服务,包括图片等等都是这样,可以缩短url长度。

Bitly 是世界上最流行的短链接服务,而且已经免费开放所有功能。点击访问官网 Bitly.com

下面介绍服务使用步骤:

(1) 到官网注册获取相应的APIKey

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

(2)到Setting页面获得Key值

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

因为只有注册之后才能使用它相应的服务,所以这里先注册一个用户

(3)下载Bitly服务包

下载地址如下: http://urlshortenerhelper.codeplex.com/

(4)新建一个项目,我这里使用VS2010 MVC3项目

新建之后要在VS工程中添加外部引用包,也就是安装UrlShortener ,刚才下载的文件

(5)在Package Manager Console 命令中安装UrlShortener ,我这里安装的是UrlShortener.0.9.1

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

输入Install-Package UrlShortener 命令之后 显示下面的表示安装成功!

(6) 到上面之后一切OK,接下来就是编码的事情,代码非常简单。

安装成功之后,项目工程中会有一个文件包 packages ,里面就是一些dll文件,然后会添加两个dll到工程中。

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

(7)代码展示

URL转化之前必须设置用户以及刚才获得Key值

UrlShortener.Settings.UserName = "qingyuan";

UrlShortener.Settings.ApiKey = "R_0daabdbac0fd2b58f097da9f5a1f7917";

应用代码如下

@{  string url = UrlShortener.Shorten("http://www.cnblogs.com/qingyuan/");  string image = UrlShortener.Shorten("http://images.cnblogs.com/cnblogs_com/qingyuan/242728/r_qingyuan.jpg");  string localhost = UrlShortener.Shorten("http://127.0.0.1/index.html"); }

     @url  
       
     @localhost  

展示效果图如下

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

这里就达到了短链接的效果,相对之前的URL短了很多,而且url已经混淆了。

下面介绍几个遇到的问题:

(1) 不设置UserName或ApiKey 会出现如下问题

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

(2) 果如ApiKey的值不正确会出现如下问题

ASP.NET如何通过第三方网站Bitly实现短链接地址程序

更新获取短链接算法参考代码

static void Main(string[] args)
{
 string url = "http://www.cnblogs.com/qingyuan/asdf/asdf/11/24/UrlShortener.html";
 string[] results = ShortUrl(url);
 foreach (string item in results)
 {
 System.Console.WriteLine(item);
 }
}

public static string[] ShortUrl(string url)
{
 string[] chars = new string[] {"a" , "b" , "c" , "d" , "e" , "f" , "g" , "h" ,
 "i" , "j" , "k" , "l" , "m" , "n" , "o" , "p" , "q" , "r" , "s" , "t" ,
 "u" , "v" , "w" , "x" , "y" , "z" , "0" , "1" , "2" , "3" , "4" , "5" ,
 "6" , "7" , "8" , "9" , "A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" ,
 "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" ,
 "U" , "V" , "W" , "X" , "Y" , "Z"};
 string value = UserMd5(url);
 System.Console.WriteLine("MD5加密之后字符串: "+value+"\n字符串长度"+value.Length);
 string[] results = new string[value.Length / 8];
 for (int i = 0; i < value.Length/8; i++)
 {
 string tempResult = value.Substring(i*8,8);
 long lHexLong = 0x3FFFFFFF & long.Parse(tempResult);
 string outchar = "";
 for (int j = 0; j < 6; j++)
 {
  long index = 0x0000003D & lHexLong;
  outchar += chars[(int)index];
  lHexLong = lHexLong >> 5;
 }
 results[i] = outchar;
 }
 return results;
}

static string UserMd5(string str)
{
 string key = "qingyuan";
 string cl = str+key;
 string pwd = "";
 MD5 md5 = MD5.Create();
 byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
 for (int i = 0; i < s.Length; i++)
 {
 pwd = pwd + s[i];
 }
 return pwd;

}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...