Rubyを使用して簡単にどこどこJP判定値にアクセスするためのクラスライブラリです。
このライブラリは ruby 1.8.5 で動作確認をしています。
Rubyを使用して簡単にどこどこJP判定値にアクセスするためのクラスライブラリです。
このライブラリは ruby 1.8.5 で動作確認をしています。
このライブラリは GNU Lesser General Public License(LGPL) のもとで公開します。
変更履歴を記載しています。
| Version | 日付 | 詳細 | |
|---|---|---|---|
| 1.0.0 | 2011/08/29 | 公開 | - |
require 'docodocoJP.rb'
hashResult = Hash.new // 判定結果のハッシュ
obj = DocodocoJP.new( "APIキー1", "APIキー2" ) // objは任意の変数名
hashResult = obj.GetAttribute()
puts hashResult['PrefJName']
このスクリプトは成功時に以下のように出力します。
コンストラクタについての解説です。
| コンストラクタ | 説明 |
|---|---|
| DocodocoJP( string $key1, string $key2 ) |
与えられたAPIキーでユーザー認証を行います。 下記の場合は例外を発生します。 ・ユーザー認証に失敗した場合 ・APIサーバーからの応答が無いなど、 APIが使用不可能であると考えられる場合 |
インスタンス変数についての解説です。
| プロパティ | 型 | 説明 |
|---|---|---|
| apikey1 | protected string | APIキー1 |
| apikey2 | protected string | APIキー2 |
| targetIP | protected string | 検索対象となるIPアドレス |
| charset | protected string | 検索結果出力の文字コード |
| hashResult | protected hash |
検索結果 (ハッシュのキーはRESTのリターンパラメータに準じる) |
| hashStatus | protected hash | 検索結果のステータス
|
メソッドについての解説です。
| メソッド名( 引数 ) | 戻り値 | 説明 |
|---|---|---|
| SetKey1( string $key1 ) | boolean 成否 | どこどこ APIキー1をセット |
| SetKey2( string $key2 ) | boolean 成否 | どこどこ APIキー2をセット |
| SetIP( string $ip ) | boolean 成否 | 検索対象のIPアドレスをセット |
| SetChar( string $character ) | boolean 成否 |
文字コードのセット $character
|
| GetAttribute( ) | hash 判定結果 | どこどこJPに問い合わせを行い、判定結果をハッシュで返す |
| GetHash() | hash 判定結果 | 直前の判定結果をハッシュで返す |
| GetArray() | hash 判定結果 | 直前の判定結果をハッシュで返す ( Gethash()メソッドと同じ ) |
| GetStatus() | hash ステータス | 直前の判定結果ステータスをハッシュで返す |
require 'docodocoJP.rb'
obj = DocodocoJP.new( "APIキー1", "APIキー2" ) // objは任意の変数名
obj.SetIP( "210.251.250.30" )
hashResult = obj.GetAttribute()
puts hashResult['OrgName']
このスクリプトは成功時に以下のように出力します。
サイバーエリアリサーチ株式会社
require 'docodocoJP.rb'
obj = DocodocoJP.new( "APIキー1", "APIキー2" )
obj.SetIP( "210.251.250.30" )
obj.SetChar( "Shift_JIS" )
hashResult = obj.GetAttribute()
puts hashResult['CityJName']
このスクリプトは成功時に以下のように出力します。
require 'docodocoJP.rb'
begin
obj = DocodocoJP.new( "APIキー1", "APIキー2" )
rescue Exception => e
print "例外が発生しました\n"
print e.message + "\n"
exit
end
if(! obj.SetIP( "220.216.104.1" ) ) then
puts "IPアドレスの形式が不正です"
exit
end
if( obj.SetChar( "UTF-8" ) ) then
puts "出力の文字コードがUTF-8に設定されました"
else
puts "出力の文字コード変更に失敗しました"
end
hashObj = obj.GetAttribute()
hStatus = obj.GetStatus
print "ステータスメッセージは #{hStatus['message']} でした\n"
print "-----------\n"
hashObj.each{|key,value|
print "#{key} : #{value} \n"
}
このスクリプトは成功時に以下のように出力します。
出力の文字コードがUTF-8に設定されました
ステータスメッセージは OK でした
-----------
PrefJName : 静岡
(以下略)
![]()