SQLの窓

2011年09月18日


VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[bit.ly] を使用する( XML と TEXT )



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


posted by lightbox at 2011-09-18 13:46 | VB.NET : 通信 | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり