それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

au-WiFi のSSIDに接続するスクリプト

auWiFiにログインする。

auSSIDWifiは、いくつかの手順を経て、PCからログイン出来るようになる。

  • au が用意する専用のURLで、wifi のIDを入手する( 要 au id )
  • au WiFi が飛んでるエリアにゆき、接続する
  • au WiFi で接続後、リダイレクトされることを確認
  • ログインするスクリプトを実行

au WiFi のログインIDを取得数r

au WiFi には、専用のログインIDが別に必要で、これはau id でログインして取得する

実際には、このURLにアクセスしてID/PWを取得する

https://auwifi-signup.auone.jp/su2/?{"mac_addrs":["***大文字MACアドレス***"],"manufacturer":"Windows","model":"7","request_type":"0"}

詳しくは→公衆Wifiの認証情報について - eggshell blue

au WiFiSSIDに接続する

au_Wi-FiSSIDに接続するためのWPAキーは 接続ツールのplist に書いてある。

PL_PATH="/Applications/au Wi-Fi接続ツール.app/Contents/Resources/SSID.plist"
XPATH_EXP="//array/dict[./string[text()='au_Wi-Fi']]/string[position() < 3 ]"
plutil -convert xml1 $PL_PATH   -r -o - | xpath  $XPATH_EXP
Found 2 nodes:
-- NODE --
<string>7IkINyKIQB9mL20f</string>-- NODE --
<string>au_Wi-Fi</string>

Windowsでも同じように書いてあるんじゃないでしょうか。

au-WIFIのログインをする

ログイン先に、データをPOSTする。

require 'mechanize'

def auWifi(id,pw)

    m = Mechanize.new
    m.get 'http://mixi.jp'

    ## parse host
    a = m.page.u
ri.to_s
    b = m.page.uri.path
    c = m.page.uri.query
    ## POST to /smartlogin
    d = a.gsub(b+"?"+c ,"")
    x = d+"/smartlogin"
    m.post x, {UserName: id ,Password: pw }


    body = m.page.body.toutf8
    match =  body.match(/(\/login\?cid=[^&]+&username=[0-9a-zA-Z]+)/) 
    raise unless match
    
    y = d +  match[1]

    m.get y

    print m.page.body.toutf8
    
    
end

auWifi( "xxxxxx@au",  "xxxxxxx" )

これで無事に、au にログイン出来るようになった。

これで、残るキャリア無線LANは、docomoだ。

関連資料

takuya-1st.hatenablog.jp

takuya-1st.hatenablog.jp

参考資料

d.hatena.ne.jp