Feedback

C# - Eine URL mit dem Dienst bit.ly verkürzen

Veröffentlicht von am 12.01.2010
(3 Bewertungen)
Mit Hilfe dieser Funktion kann man eine URL mit Hilfe des Dienstes bit.ly verkürzen. Die API von bit.ly benötigt Zugangsdaten, die man nach dem kostenlosen Registrieren über die URL http://bit.ly/account/your_api_key erhält.

Der Parameter addHistory bestimmt, ob die verkürzte URL in den Verlauf des eigenen bit.ly Accounts übernommen werden soll oder nicht.

Als Ergebnis gibt diese Funktion eine Uri mit der verkürzten URL zurück. Trat ein Fehler beim Verkürzen auf wird automatisch die ursprüngliche URL zurückgegeben um eine umständliche Fehlerbehandlung zu vermeiden.
GFU-Schulungen  [Anzeige]

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

/// <summary>Verkürzt die angegebene URL mit hilfe von Bit.ly</summary>
/// <param name="longUri">Die zu verkürzende lange URL.</param>
/// <param name="login">Der Login-Name des zu verwendenden bit.ly Accounts (http://bit.ly/account/your_api_key).</param>
/// <param name="apiKey">Der API-Key des zu verwendenden bit.ly Accounts (http://bit.ly/account/your_api_key).</param>
/// <param name="addHistory">Wenn dieser Parameter auf <c>true</c> gesetzt wird, werden die verkürzten URLs im Account des Benutzers gespeichert.</param>
/// <returns>Eine verkürzte Bit.ly Url, oder die OriginalUrl wenn bei der Verkürzung ein Fehler aufgetreten ist.</returns>
private Uri ShortenUri(Uri longUri, string login, string apiKey, bool addHistory) {
  const string bitlyUrl = @"http://api.bit.ly/shorten?longUrl={0}&apiKey={1}&login={2}&version=2.0.1&format=json&history={3}";
  var request = WebRequest.Create(string.Format(bitlyUrl, longUri, apiKey, login, addHistory ? "1" : "0"));
  var response = (HttpWebResponse)request.GetResponse();
  string bitlyResponse;
  using (var reader = new StreamReader(response.GetResponseStream())) {
    bitlyResponse = reader.ReadToEnd();
  }
  response.Close();
  if (!string.IsNullOrEmpty(bitlyResponse)) {
    const RegexOptions options = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
    const string rx = "\"shortUrl\":\\ \"(?<short>.*?)\"";
    Regex reg = new Regex(rx, options);
    string tmp = reg.Match(bitlyResponse).Groups["short"].Value;
    return string.IsNullOrEmpty(tmp) ? longUri : new Uri(tmp);
  }
  return longUri;
}
Abgelegt unter shortener, shorturl, tinyurl, bitly.

2 Kommentare zum Snippet

M1C schrieb am 13.01.2010:
find ich recht nützlich und schön gemacht =)
9 Punkte von mir
Gordon Breuer schrieb am 19.01.2010:
Danke :)
 

Logge dich ein, um hier zu kommentieren!