2009-07-15 10 views
1

Ich möchte Massennummern von kurzen URLs übersetzen, die von Twitter kommen. Anstatt auf jede einzelne Anfrage zuzugreifen, möchte ich APIs verwenden, die eine Liste von kurzen oder winzigen URLs akzeptieren und die ursprünglichen URLs zurückgeben. Sind solche APIs verfügbar?Gibt es APIs, um kurze URLs wieder in normale Links zu übersetzen?

+0

Mög ble Duplikat von http://stackoverflow.com/questions/902192/how-to-get-long-url-from-short-url – CoderDennis

Antwort

4

Nicht wirklich eine API, aber das wird Ihnen die URL wirklich schnell geben.

curl -I kurze URL einfügen hier | grep Location | awk '{print $2}'

0

Werfen Sie einen Blick auf bit.ly API oder budurl.com API

+0

Das ist die bit.ly API ... Wie wird es mit allen helfen andere kurze URL-Dienste? – gahooa

+0

Er fragte speziell nach APIs. –

4

99% aller URL Opener haben eine API.

Zum Beispiel gibt es ein Paket PEAR (PHP) Services_ShortURL genannt, die unterstützt:

  • bit.ly
  • digg
  • is.gd
  • short.ie
  • tinyurl.com
1

Es gibt ein paar Websites rund um de dedizierte Dienste zum Konvertieren von verkürzten URLs in ihr ursprüngliches Format.

Zwei ich weiß, dass APIs sind LongURL und Untiny.me. Ich schreibe gerade eine Java-Bibliothek, um beide zu verwenden.

1

Ich hatte eine kleine script geschrieben, um kurze URLs zu seinen ursprünglichen Links zu machen. Es basiert auf dem HTTP-Header, der von den kurzen URLs zurückgegeben wird.

0

Von der Online-Service der Untiny.me war dies nützlich: http://untiny.me/api/1.0/extract/?format=text&url=bit.ly/GFscreener12

So denkbar einfacher Bash-Skript jede Zeile als eine kurze URL zu lesen funktionieren würde:

#!/bin/bash 
# urlexpander.sh by MarcosK 
while read URLline; do 
    curl -s "untiny.me/api/1.0/extract/?format=text&url=$URLline" 
done 

Um zu testen, es zu füttern ein einzelne URL mit echo "bit.ly/GFscreener12" | ./urlexpander.sh oder Ihre gesamte Eingabedatei senden, eine kurze URL pro Zeile, mit:

cat urllist.txt | ./urlexpander.sh 
+0

Allerdings mag ich für meinen eigenen Code [gahooa's Methode] (http://stackoverflow.com/a/1134628/1069375) besser, weil es keinen Drittanbieter-Dienst überprüfen muss oder einen zusätzlichen Web-Abruf machen muss, und das meiste wichtig, funktioniert genauso gut mit Standard-URLs nicht nur kurz - die Rückgabe unverändert. Also ändere die curl-Zeile in der while-Schleife in curl -sI "$ URLline" | Grep Lage | awk '{print $ 2}' ' – Marcos