パッケージにはすぐ実行できる 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 でメール送信