很牛逼的短链接,我们一起来晒晒短链接程序(转)
发微博很久了,或许是我之前没注意,现在特别关注那个微博中的图片链接和URL链接,总给我看不懂但是又那么短的感觉,反正不是我上传的地址,其实这里使用一个短链接服务功能,这里拿出来晒晒。
这里看看是指向淘宝的一个商品页面,链接地址是这样的 ,但是现在在微博中变成了红圈表名的那个样子,似乎看不懂了,而且你点击之后还是到你原有的页面。这里就是使用了短链接程序服务,包括图片等等都是这样,可以缩短url长度。
Bitly 是世界上最流行的短链接服务,而且已经免费开放所有功能。点击访问官网 Bitly.com
下面介绍服务使用步骤:
(1) 到官网注册获取相应的APIKey
(2)到Setting页面获得Key值
因为只有注册之后才能使用它相应的服务,所以这里先注册一个用户
(3)下载Bitly服务包
下载地址如下: http://urlshortenerhelper.codeplex.com/
(3)新建一个项目,我这里使用VS2010 MVC3项目
新建之后要在VS工程中添加外部引用包,也就是安装UrlShortener ,刚才下载的文件
(4) 在Package Manager Console 命令中安装UrlShortener ,我这里安装的是UrlShortener.0.9.1
输入Install-Package UrlShortener 命令之后 显示下面的表示安装成功!
(5) 到上面之后一切OK,接下来就是编码的事情,代码非常简单。
安装成功之后,项目工程中会有一个文件包 packages ,里面就是一些dll文件,然后会添加两个dll到工程中。
(6)代码展示
URL转化之前必须设置用户以及刚才获得Key值
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");
}
<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>
展示效果图如下
这里就达到了短链接的效果,相对之前的URL短了很多,而且url已经混淆了。
下面介绍几个遇到的问题:
(1) 不设置UserName或ApiKey 会出现如下问题
(2) 果如ApiKey的值不正确会出现如下问题
更新获取短链接算法参考代码
{
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;
}
很久不写文章,这篇到此为止,希望能够给大家帮助,有问题大家讨论!
收集到发现啦!
很牛逼的短链接,我们一起来晒晒短链接程序(转)相关推荐
- 你以为有白金卡就很牛逼?错!
近段有个朋友办了一张平安银行的白金卡,额度5万元,然后他高兴得不得了,还到处炫耀,以为带个"白金"字就很牛逼,其实不然,表面上看,白金卡虽然高大上,其实也只是一种卡级而已. 所以今 ...
- IDEA 有个很牛逼的功能
IDEA 有个很牛逼的功能,那就是后缀补全(不是自动补全),很多人竟然不知道这个操作,还在手动敲代码. 这个功能可以使用代码补全来模板式地补全语句,如遍历循环语句(for.foreach).使用 St ...
- 不推荐别的了,IDEA 自带的数据库工具就很牛逼!
MySQL 等数据库客户端软件市面上非常多了,别的就不介绍了, 其实 IntelliJ IDEA 自带的数据库工具就很牛逼,不信你继续往下看. 本文以 IntelliJ IDEA/ Mac 版本作为演 ...
- 几张表格怎么联动_那种很牛逼的多图表联动,究竟是怎么做出来的?
原标题:那种很牛逼的多图表联动,究竟是怎么做出来的? VIP学员从网上看到一张很牛逼的动态图表,只要选择月份,左边的圆环图和右边的柱形图都会随着变化,感觉很神奇,这种究竟是怎么做出来的呢? 其实,做这 ...
- 世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
来自公众号:五分钟学算法 今天分享四个代码量很少,但很牛逼很经典的算法或项目案例. 1.no code 项目地址: https://github.com/kelseyhightower/nocode ...
- Java 未死,依然很牛逼!
很多文章都在说 Java 快被取代了,其实不然,现在 Java 还是未来主导编程语言,依然很牛逼. 今天给大家带来一套珍贵的 Java 电子书,非常全面,包括 Java 语言基础.多线程并发编程.JV ...
- 【福利】Java 依然很牛逼!
很多文章都在说 Java 快被取代了,其实不然,现在 Java 还是未来主导编程语言,依然很牛逼. 今天给大家带来一套珍贵的 Java 电子书,非常全面,包括 Java 语言基础.多线程并发编程.JV ...
- css盒模型中margin很牛逼
css盒子模型,说简单也简单,用的时候也有不简单的. 其中margin的值可以为负值,并且为了实现margin,忽略父级的padding.border.甚至定位.这在布局上很有用,要注意. ----- ...
- 国内的windows硬件检测软件算是很牛逼的吧!!!?
这几天的实践表明,免费的,windows操作系统上硬件驱动检测软件,国内做的挺牛逼的. 虽然这些软件有些流氓,比如鲁大师,比如驱动精灵. 但是,在硬件检测方面确实挺厉害的,客官的说. 缘由: 最近在搞 ...
- 中国科学院计算机在职研究生怎么样,中科大在职研究生好考吗,考进中科院的人很牛逼吗?...
很多小伙伴在进入社会之后发现仍然需要不断的提升自己,中专的升大专.大专的升本科,面对越来越大的就业压力,到了本科发现自己的学历还是不够用.中科大在职研究生好考吗,可以通过中科大对于我们普通人来说好考吗 ...
最新文章
- 2012 草莓音乐节 [组图]
- ESP8266-SDK编写的TM1668程序驱动数码管
- CONVERT_DATE_WITH_THRESHOLD
- Android动态加载技术三个关键问题详解
- 【转贴】大型ORACLE数据库优化设计方案
- 如何把一个java工程打成一个jar包(转载)
- java之方法的重写
- picturectrl控件中加载图片并显示_在 CRA 中使用 webp 图片提升加载性能
- mapreduce分组统计_mongodb中使用mapreduce进行分组统计
- mysqld已删除但仍占用空间的_活见鬼,明明删除了数据,空间却没减少
- 发那科机器人寄存器Ar_浅谈发那科机器人与TP参数之间的关系
- axure文本框添加水印_Axure如何给元件添加注释?
- C语言中extern的用法
- 《Mini-Me: An Adaptive Avatar for Mixed Reality Remote Collaboration》论文笔记
- 金融小白进阶记——金融加速器
- 双注入法/开路短路法
- 微信小程序:音乐项目
- redis基于Lettuce客户端实现读写分离
- python语言编写从一加到100_python学习: 如何循序渐进学习Python语言
- PythonStock(33)特别的巧,发现一个使用 vue 开发的股票系统应用,具备了一些基础的功能,可以拿过来直接跑起来。使用dockerfile进行构建,并跑起来