パッケージにはすぐ実行できる server_xmlhttp.exe が入っていますが、 同じディレクトリに MSXML2.dll が必要です ★ MSXML2.dll( Msxml2.ServerXMLHTTP参照用 : 同梱しています ) ★ server_xmlhttp.exe ユーザ名 APIキー URL で実行 以下のページは、bit.ly の API の内容を記述したページです bitly REST API method documentation アカウントでログインして、http://bitly.com/a/your_api_key にアクセスしてAPI キーを取得できます ※ ここの API で戻されるのは、JSON と XML と TEXTです ここでは、XML と TEXT の処理を記述しています
Imports System.Web
Imports myCom
Module Module1
Sub Main()
' http 通信用のオブジェクトを作成
Dim ServerXML As New myCom.ServerXMLHTTP60()
' タイムアウトの設定
Dim lResolve As Integer = 60 * 1000
Dim lConnect As Integer = 60 * 1000
Dim lSend As Integer = 60 * 1000
Dim lReceive As Integer = 60 * 1000
ServerXML.setTimeouts(lResolve, lConnect, lSend, lReceive)
' 呼び出す URL を設定
Dim URL As String = "http://api.bitly.com/v3/shorten"
' 変換元の文字列を引数から取得する
' 空白を指定したい場合は、"文字列 文字列" のように指定する
Dim arguments As String() = Environment.GetCommandLineArgs()
' 引数は3つ許可
if arguments.Length <> 4 then
Console.WriteLine("引数を指定して下さい")
Return
end if
' 第一引数は ユーザ名
URL += "?login=" + arguments(1)
' 第一引数は APIキー
URL += "&apiKey=" + arguments(2)
' 第二引数は URL
Dim TargetURL As String = arguments(3)
' 送る為に文字列を URL エンコードする
' System.Web.HttpUtility.UrlEncode
TargetURL = HttpUtility.UrlEncode(TargetURL)
' 直接 URL のみを取得用を同時に作成( 最後に実行 )
Dim TextGet As String = URL + "&longUrl=" + TargetURL + "&format=txt"
' 元の URL と フォーマットを追加
URL += "&longUrl=" + TargetURL + "&format=xml"
' 結果
Console.WriteLine( URL )
' GET する為に開く
ServerXML.open("GET", URL, False)
' 送信
ServerXML.send()
' XML をテキストとして表示
Console.WriteLine(ServerXML.responseText)
' XML を DOMDocument として取得
Dim myDom As myCom.DOMDocument60 = ServerXML.responseXML
' 対象のノードリストを取得
Dim nodeList As IXMLDOMNodeList = myDom.getElementsByTagName("url")
' 対象のノードを取得
Dim node As IXMLDOMNode = nodeList.item(0)
' テキストノードを取得
Dim node2 As IXMLDOMNode = node.firstChild()
' テキストノードの値( 目的の内容 ) を取得
Dim value As Object = node2.nodeValue()
' 結果
Console.WriteLine( value.ToString() )
' --------------------------------------------------
'TEXT で取得
ServerXML.open("GET", TextGet, False)
' 送信
ServerXML.send()
' テキストとして表示
Console.WriteLine("テキストフォーマットで取得 : " + ServerXML.responseText)
Console.ReadLine()
End Sub
End Module
関連する記事 ServerXMLHTTP60(Msxml2.ServerXMLHTTP) 用の dll は同梱していますが、SDK より自分で 作成する場合は、以下のリンク先のページ中の「.NET から COM を使う」のリンク先を参照して 下さい VB.net : COMの Msxml2.ServerXMLHTTP を使用して http 通信を行う VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[p.tl] を使用する VB.net : COMの Msxml2.ServerXMLHTTP を使用して Google のURL短縮サービスを使用する( JSON )
|
|
【VB.NET : 通信の最新記事】
- VB.net(2010) : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにバイナリデータを POST する
- VB.net : TKFP.DLL 1.4.3 を使って FTPS でファイル(フォルダ)の一覧を取得する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して Google のURL短縮サービスを使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[p.tl] を使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにデータを POST する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して http 通信を行う
- VB.net : IPアドレスを IPv4 と IPv6 に区別して取得する
- Json.NET を使用して JSON 文字列を VB.net で使用する( 逆シリアライズ )
- VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバーU
- VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバー( TcpListener )
- VB.NET : TKMP.DLL でメール送信







