当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET通过第三方网站Bitly实现短链接地址程序

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

爱新觉罗 川岛志明,嵘,李多宝

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

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906077504.jpg

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

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

下面介绍服务使用步骤:

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

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906074776.jpg

(2)到setting页面获得key值

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906073520.jpg

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

(3)下载bitly服务包

下载地址如下:

(4)新建一个项目,我这里使用vs2010 mvc3项目

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

(5)在package manager console 命令中安装urlshortener ,我这里安装的是urlshortener.0.9.1

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906076562.jpg

输入install-package urlshortener 命令之后 显示下面的表示安装成功!

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

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

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906075307.jpg

(7)代码展示

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

urlshortener.settings.username = "qingyuan";

urlshortener.settings.apikey = "r_0daabdbac0fd2b58f097da9f5a1f7917";

应用代码如下

<p>
@{
 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/");
}

<div>
 <label>显示:</label>
 <span>
 <a href="@url">@url</a>
 </span>
</div><br />
<div>
 <label>图片短链接:</label>
 <span>
 <img src="@image" />
 </span>
</div><br />
<div>
 <label>本机地址:</label>
 <span>
 <a href="@localhost">@localhost</a>
 </span>
</div><br /></p> 

展示效果图如下

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906078349.jpg

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

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

(1) 不设置username或apikey 会出现如下问题

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906089634.jpg

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

http://www.lhsxpumps.com/_images/10qianwan/20171212/b_1_201712121906081920.jpg

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

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;

} 

以上这篇asp.net通过第三方网站bitly实现短链接地址程序就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网