Advertisement
Guest User

Untitled

a guest
Dec 27th, 2012
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.83 KB | None | 0 0
  1. Imports System.Net
  2. Imports System.Web
  3. 'http://api.bitly.com/v3/shorten?longUrl=エンコードURL&login=bit.lyのユーザ―名&apiKey=bit.lyのAPIキー&format=フォーマット
  4.  
  5. 'エンコードURLには、JSの場合はencodeURIComponent()、PHPの場合はurlencode()を使用して、エンコードしたロングURLを指定します。 フォーマットには、戻り値の形式を指定します。JSON形式なら「json」、XMLなら「xml」を指定します。
  6. 'https://bitly.com/a/your_api_key  でUsernameとAPIKEY取得
  7.  
  8. Public Class bitlyshort
  9.     Const bitlyformat As String = _
  10. "http://api.bitly.com/v3/shorten?longUrl={0}&login={1}&apiKey={2}&format=xml"
  11.  
  12.     Public Function Getbitlyshort(ByVal url As String, ByVal username As String, ByVal apikey As String)
  13.         Try
  14.             Dim strEncode As System.Text.Encoding = System.Text.Encoding.GetEncoding("UTF-8")
  15.             Dim encodeurl As String = HttpUtility.UrlEncode(url, strEncode)
  16.             Dim targeturl As String = String.Format(bitlyformat, encodeurl, username, apikey)
  17.             Dim wc As New System.Net.WebClient
  18.             Dim bitlyxml As String = wc.DownloadString(targeturl)
  19.             Dim geturl As String = Xmltourl(bitlyxml)
  20.             Return geturl
  21.         Catch ex As Exception
  22.             Return Nothing
  23.  
  24.         End Try
  25.  
  26.     End Function
  27.  
  28.     Private Function Xmltourl(ByVal bitlyxml As String) As String
  29.  
  30.         Dim xdoc As New System.Xml.XmlDocument()
  31.         xdoc.LoadXml(bitlyxml)
  32.         Dim status As System.Xml.XmlNodeList = xdoc.GetElementsByTagName("status_code")
  33.         Dim url As System.Xml.XmlNodeList = xdoc.GetElementsByTagName("url")
  34.  
  35.         If status.Item(0).InnerText = "200" Then
  36.             Return url.Item(0).InnerText
  37.         Else
  38.             Return Nothing
  39.         End If
  40.     End Function
  41. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement