« [Cold CaseS2E20]コールドケース 迷宮事件簿の挿入歌【ナイフ】 | トップページ | [Acrobat]MS書体を埋め込む【Windows】 »

[AppleScript]www側のIPアドレスを取得する

AppleScriptとappspot.comを使って
インターネットに接続しているIPアドレスを取得します。

要点
■プライベートアドレスではなくwwwに接続しているIPを取得します。

AirMac経由やプロクシ経由等
自分に振られているプライベートIPアドレスではなく
接続しているグローバルIPアドレスを取得します。

先に言っておくと
方法的には、こちら[LINK]OpenNewWindowの記事のappspot版です。.......汗

 

[javascript]IPアドレスを取得する。[LINK]OpenNewWindow
AppleScript版です


 


戻り値の最後に改行無しパターン
582x339_applescript_01_2




tell application "Finder"
set My_URL to "http://applescriptip.appspot.com/" as Unicode text
tell application "Safari"
launch
activate
make new document
delay 1
tell window 1
open location My_URL
end tell
tell window 1
open location My_URL
end tell
delay 1
set OriginaltheIP to text of document 1
set CnttheIP to (the length of characters of OriginaltheIP) - 1
set theIP to characters 1 thru CnttheIP of OriginaltheIP as Unicode text
end tell
activate
display dialog ¬
"IPアドレスが取得出来ました\nコピーして下さい。" default answer ¬
the theIP with icon 1 with title "IPアドレスをコピーしてください"
end tell

tell application "Safari"
close window 1
end tell


 


改行有りパターンがあります。
604x322_applescript_02_2




tell application "Finder"
set My_URL to "http://applescriptip.appspot.com/" as Unicode text
tell application "Safari"
launch
activate
make new document
delay 1
tell window 1
open location My_URL
end tell
tell window 1
open location My_URL
end tell
delay 1
set OriginaltheIP to text of document 1

end tell
activate
display dialog ¬
"IPアドレスが取得出来ました\nコピーして下さい。" default answer ¬
the OriginaltheIP with icon 1 with title "IPアドレスをコピーしてください"
end tell

tell application "Safari"
close window 1
end tell

 

改行無しパターン


「GetwwwIP_delLF.scpt.zip」をダウンロード[LINK]OpenNewWindow
「GetwwwIP_delLF.html」をダウンロード

 
改行有りパターン


「GetwwwIP_addLF.scpt.zip」をダウンロード[Download]DownloadFile
「GetwwwIP_addLF.html」をダウンロード

 

調整項目

■URLを2回よみこませています。
706x450_applescript_03

windowが開いていないのにURLを呼び出すと
戻り値を取得出来ない事があったので
エラーよけのまじない的に2回読み込ませています。

 

■ディレイ値(処理待ち時間)
701x445_applescript_04
とにかく
SafariがWindowsを描画してからURLを呼び出さないと
戻り値としてのIPアドレスが取得出来ないので
環境
特にマシンスペックによっては
『1』になっている所を『2』にする等が必要かもしれません。


 

sshを使って

ifconfig | grep broadcast

等でマシンのアドレスは取得出来ますが
AirMac経由の場合等
プライベートのアドレスが振られている環境の場合
wwwに接続しているアドレスが取得出来ないので
こんな方法を考えてみました。


 


safariを使うのが嫌な人は
シェルを使ってcurlで取得できます。



tell application "Finder"
set My_URL to "http://applescriptip.appspot.com/" as Unicode text


set OriginaltheIP to do shell script "curl -O /tmp/getIP.txt http://applescriptip.appspot.com/"

display dialog ¬
"IPアドレスが取得出来ました\nコピーして下さい。" default answer ¬
the OriginaltheIP with icon 1 with title "IPアドレスをコピーしてください"

end tell


 
「Getwwwip_curl.scpt.zip」をダウンロード[LINK]OpenNewWindow

「Getwwwip_curl.html」をダウンロード
  
 

|

« [Cold CaseS2E20]コールドケース 迷宮事件簿の挿入歌【ナイフ】 | トップページ | [Acrobat]MS書体を埋め込む【Windows】 »

AppleScript」カテゴリの記事

コメント

この記事へのコメントは終了しました。