パッケージにはすぐ実行できる server_xmlhttp.exe が入っていますが、 同じディレクトリに MSXML2.dll が必要です ★ MSXML2.dll( Msxml2.ServerXMLHTTP参照用 : 同梱しています ) ★ server_xmlhttp.exe APIキー URL で実行 以下のページは、Google の API の内容を記述したページです Google URL Shortener API アカウントでログインして、APIs Console にアクセスしてAPI キーを取得できます ※ ここの API で戻されるのは、JSONです ※ POST でデータを取得します ※ この API で、URL エンコードは必要ありません 簡単な JSON なので、文字列処理で結果を取得しています( Split、Replace )
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 = "https://www.googleapis.com/urlshortener/v1/url" ' 変換元の文字列を引数から取得する ' 空白を指定したい場合は、"文字列 文字列" のように指定する Dim arguments As String() = Environment.GetCommandLineArgs() ' 引数は2つ許可 if arguments.Length <> 3 then Console.WriteLine("引数を指定して下さい") Return end if ' 第一引数は APIキー URL += "?key=" + arguments(1) ' 第ニ引数は URL Dim TargetURL As String = arguments(2) ' 結果 Console.WriteLine( URL ) ' 送信データ Dim SendData As String = "{""longUrl"": """ + TargetURL + """}" ' POST する為に開く ServerXML.open("POST", URL, False) ' HTTP ヘッダをセット( Google の仕様での要求内容 ) ServerXML.SetRequestHeader("Content-Type","application/json") ' 送信 ServerXML.send(SendData) ' テキストとして表示 Console.WriteLine(ServerXML.responseText) ' JSON を String として分解 Dim value As String = ServerXML.responseText ' 区切り文字列でテキストデータ全体を分割 Dim stringSeparators As String() = {","} Dim myParamArray1 As String() = value.Split(stringSeparators, StringSplitOptions.None) value = myParamArray1(1) stringSeparators(0) = ": " myParamArray1 = value.Split(stringSeparators, StringSplitOptions.None) value = myParamArray1(1) value = value.Replace("""", "") ' 結果 Console.WriteLine( value ) 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 を使用して URL短縮サービス[bit.ly] を使用する( XML と TEXT ) PHP : Google のURL短縮APIを呼び出す関数
|
【VB.NET : 通信の最新記事】
- VB.net(2010) : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにバイナリデータを POST する
- VB.net : TKFP.DLL 1.4.3 を使って FTPS でファイル(フォルダ)の一覧を取得する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[bit.ly] を使用する( XML と TEXT )
- 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 でメール送信