使用 URL 缩短服务 -Tweetburner (twurl)





0/5 (0投票)
这是 URL 缩短服务系列的另一篇文章。今天,我们将讨论另一个热门且易于使用的服务,它是 Tweetburner。如果您以前从未使用过它,那么现在是时候了。我们将首先讨论如何使用 Tweetburner。之后,我们将检查其 API 并学习
هذه المقالة متوفرة أيضا باللغة العربية، اقرأها هنا.
阅读更多关于 URL 缩短服务的信息此处。
目录
本文内容- 目录
- 概述
- 引言
- 描述
- API
- 下一步
概述
这是 URL 缩短服务系列的另一篇文章。今天,我们将讨论另一个热门且易于使用的服务,它是 Tweetburner。如果您以前从未使用过它,那么现在是时候了。
我们将首先讨论如何使用 Tweetburner。之后,我们将检查其 API 并学习如何在您的 .NET 应用程序中使用它。
引言
今天专门介绍 Tweetburner(称为 twurl),它是热门、简单且易于使用的缩短服务之一,您可以将其与 is.gd进行比较。
描述
当您访问 Tweetburner 网站(通过 http://tweetburner.com 或 http://twurl.nl)时,您会发现它允许用户注册以获得更多功能(特别是链接分析。)但是,在撰写本文时,帐户页面因技术问题而被禁用,如果您在那里注册,则不会发生任何有趣的事情。
Tweetburner 的一个热门功能是,它允许您将链接发布到 twitter(您猜对了)和 friendfeed ,只要它们被缩短,只需在离开页面之前点击“分享此链接”即可。
不幸的是,您无法以编程方式从该共享功能中受益,但当然,您可以创建自己的例程。
缩短您的 URL 后,您将获得一个大约 22 个字符长的新短链接(在 is.gd 中为 18 个字符),并以 http://twurl.nl 为前缀。
API
实际上,Tweetburner 不会为您提供 API。相反,它为您提供了一个简单的网页(用于缩短 URL),您可以从代码中访问它并获取您的短 URL。
让我们尝试一下!浏览到我们的关键页面 http://tweetburner.com/links,然后推送您的长 URL 并单击缩短按钮。
那么,您如何通过您的 .NET 应用程序访问此页面并填写其单个字段? 让我们来了解一下! 如果您查看 API 文档页面,您可能会发现您只需要从该页面 *请求* 信息,通过包含在请求正文中的一个简单字符串 *发布* 它所需的 URL,link[url]={0}(其中 {0} 是长 URL,只需等待包含短 URL 的响应,当然前提是该函数成功。
您是否觉得 'link[url]={0}' 很奇怪? 和我一起试试这个! 浏览到我们的页面 http://tweetburner.com/links,并将其另存为 PC 中的 HTML(不是必需的,只需获取其 HTML 代码。)
当然,我们对这个神奇的文本框很感兴趣,所以向下滚动到它的定义,如下所示
<input id="link_url" name="link[url]" size="30" type="text" />
请注意,文本框的名称为 'link[url]',这就是为什么我们在请求正文中推送 'link[url]={0}'。 鉴于这些热门信息,您可以将任何数据推送到任何 Web 表单,只需获取所需的信息即可。
现在,让我们编码! 下一个函数浏览到我们的页面 http://tweetburner.com/links,推送指定的长 URL,并从服务器获取短 URL。(请记住包含 System.Net 命名空间,以便代码正常工作。)
// C#
string Short(string url)
{
url = Uri.EscapeUriString(url);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://tweetburner.com/links");
req.Timeout = 5000;
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes("link[url]=" + url);
req.ContentLength = buffer.Length;
System.IO.Stream ios = req.GetRequestStream();
ios.Write(buffer, 0, buffer.Length);
try
{
using (System.IO.StreamReader reader =
new System.IO.StreamReader(req.GetResponse().GetResponseStream()))
{
return reader.ReadLine();
}
}
catch (WebException ex)
{
return ex.Message;
}
}
' VB.NET
Function Shorten(ByVal url As String) As String
url = Uri.EscapeUriString(url)
Dim req As HttpWebRequest = _
CType(WebRequest.Create("http://tweetburner.com/links"), HttpWebRequest)
req.Timeout = 5000
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim buffer() As Byte = _
System.Text.Encoding.UTF8.GetBytes("link[url]=" + url)
req.ContentLength = buffer.Length
Dim ios As System.IO.Stream = req.GetRequestStream()
ios.Write(buffer, 0, buffer.Length)
Try
Dim reader As System.IO.StreamReader = _
New System.IO.StreamReader(req.GetResponse().GetResponseStream())
Dim retValue As String = reader.ReadLine()
reader.Close()
Return retValue
Catch ex As WebException
Return ex.Message
End Try
End Function
请注意,我们已指定 POST 方法,因为如果要更改服务器中的某些数据,则需要这样做。 同样值得一提的是,我们将内容类型设置为 application/x-www-form-urlencoded,因为如果要将数据推送到 Web 表单,则需要这样做(通常对于除文件上传之外的所有 Web 表单来说都是完美的。)
此外,我们在请求流中包含了所需的输入。
下一步
有关 URL 缩短服务的其他文章可在此处获得。