dotnet-snippets.de
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1314 | Anzahl registrierter User: 1266 | Besucher online: 9
Hauptmenü
Home
Snippet Wettbewerb
Top Ten
Zufälliger Snippet
Vista Gadget
T-Shirts für Geeks
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social
Facebook
Twitter
RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss Delphi.NET
Rss ASP.NET
Werbung
Alice DSL Flatrate

Partner
Partner von Codezone.de


Member of Microsoft Community Leader/Insider Program (CLIP)

Eine URL mit dem Dienst bit.ly verkürzen


Autor: Gordon Breuer
Sprache: C#
Bewertung: 9
(2 Bewertungen)

Anzahl der Aufrufe: 796
  

Beschreibung:

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.


Abgelegt unter: shortener, shorturl, tinyurl, bitly.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/// <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;
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

M1C schrieb am:  13.01.2010 22:14:48

find ich recht nützlich und schön gemacht =)
9 Punkte von mir
Gordon Breuer schrieb am:  19.01.2010 11:54:15

Danke :)


Diese Snippets könnten für Sie interessant sein:
Keine Snippets verfügbar.

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.