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]

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

/// <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!