65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 URL 缩短服务 – is.gd

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.38/5 (7投票s)

2010 年 9 月 19 日

CC (Attr 3U)

2分钟阅读

viewsIcon

27374

这是我们系列文章的另一篇,讨论了以编程方式访问 URL 缩短服务。 本文讨论的是 is.gd 缩短服务,如何使用它,以及如何通过您的 C#/VB.NET 应用程序访问它。

这篇文章也有阿拉伯语版本,请在这里阅读。
了解更多关于 URL 缩短服务的信息,请点击这里

资源 - Elsheimy.Samples.ShortenSvcs.zip

目录

本文内容
  • 目录
  • 概述
  • 引言
  • API
  • 下一步

概述

这是我们系列文章的另一篇,讨论了以编程方式访问 URL 缩短服务。

本文讨论的是 is.gd 缩短服务,如何使用它,以及如何通过您的 C#/VB.NET 应用程序访问它。

引言

is.gd 是网络上最受欢迎的缩短服务之一,因为它界面简单且 API 易于使用。

访问服务网站 http://is.gd 时,您会发现没有什么比 is.gd 更简单了,只需将您的长 URL 放入文本框中,然后单击缩短按钮即可。

API

is.gd 提供了非常简单易用的 API。 此 API 仅包含一个函数,用于缩短 URL。 另一个好处是,此函数不需要用户进行任何类型的身份验证。 因此,您只需要用您的长 URL 轰炸它(就像您对网站所做的那样)。

这个辉煌的函数被称为 http://is.gd/api.php,它仅接受一个参数,longurl,可以将其设置为需要缩短的长 URL。 当您调用该函数时,它会简单地将缩短的 URL 作为纯文本返回(没有更多开销)。

现在,让我们尝试这个函数。 我们将尝试使用我们的函数缩短 URL http://JustLikeAMagic.com。 首先,连接参数 http://is.gd/api.php?longurl=http://JustLikeAMagic.com。 现在复制此地址并将其粘贴到您最喜欢的浏览器中。 如果一切正常,您应该在单击浏览器工具栏中的“转到”按钮后看到短 URL。

现在,让我们在 C# 和 VB.NET 中执行此操作。 查看以下函数,该函数尝试通过 id.gd API 缩短长 URL

// C#

string Shorten(string url)
{
    url = Uri.EscapeUriString(url);
    string reqUri = String.Format(@"http://is.gd/api.php?longurl={0}", url);

    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(reqUri);
    req.Timeout = 5000;


    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 reqUri As String = _
        String.Format("http://is.gd/api.php?longurl={0}", url)
    Dim req As WebRequest = WebRequest.Create(reqUri)
    req.Timeout = 5000

    Try
        Dim reader As System.IO.StreamReader = _
            New System.IO.StreamReader(req.GetResponse().GetResponseStream())

        Dim retValue As String = reader.ReadLine()
        reader.Dispose()

        Return retValue
    Catch ex As WebException
        Return ex.Message
    End Try

End Function

请注意,我们使用了函数 System.Net.Uri.EscapeUriString() 来消除 URL 中不可接受的字符,方法是对其进行编码。

请注意,我们还将代码包含在 Try-Catch 块中,以便我们可以在应用程序崩溃之前捕获异常。

下一步

请考虑在这里阅读本系列的其他文章。**
© . All rights reserved.