Skip to content

Instantly share code, notes, and snippets.

@mtabini
Created April 30, 2011 19:04
Show Gist options
  • Save mtabini/949891 to your computer and use it in GitHub Desktop.
Save mtabini/949891 to your computer and use it in GitHub Desktop.
Applescript script for shortening a URL
-- URLEncode routing from http://harvey.nu/applescript_url_encode_routine.html
on urlencode(theText)
set theTextEnc to ""
repeat with eachChar in characters of theText
set useChar to eachChar
set eachCharNum to ASCII number of eachChar
if eachCharNum = 32 then
set useChar to "+"
else if (eachCharNum ≠ 42) and (eachCharNum ≠ 95) and (eachCharNum < 45 or eachCharNum > 46) and (eachCharNum < 48 or eachCharNum > 57) and (eachCharNum < 65 or eachCharNum > 90) and (eachCharNum < 97 or eachCharNum > 122) then
set firstDig to round (eachCharNum / 16) rounding down
set secondDig to eachCharNum mod 16
if firstDig > 9 then
set aNum to firstDig + 55
set firstDig to ASCII character aNum
end if
if secondDig > 9 then
set aNum to secondDig + 55
set secondDig to ASCII character aNum
end if
set numHex to ("%" & (firstDig as string) & (secondDig as string)) as string
set useChar to numHex
end if
set theTextEnc to theTextEnc & useChar as string
end repeat
return theTextEnc
end urlencode
set tempFile to (do shell script "mktemp -t dss")
set encodedUrl to urlencode("http://phparch.com/")
set xmlInput to do shell script "curl " & quoted form of ("http://ur.ly/new.xml?href=" & encodedUrl)
set xpathCommand to "string(//urly/@code)"
set shortenedCode to do shell script "echo " & quoted form of xmlInput & " | xpath " & quoted form of xpathCommand
set shortenedUrl to "http://ur.ly/" & shortenedCode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment