rubyのhttp-access2

ハマッタ…。ドキュメントなさ過ぎ。結局はソース嫁なのね。何はまったかというと、sample/howto.rbを参考にpostするつーのをやったんだけど、Clientのpostメソッドじゃクエリー送れない仕様なのね…。
結局

client.request('POST',uri, {'username' => username , 'password' => password})

とかやってうまくいった。単純なプログラムなのに一時間かかったよ…pqpq。
んで何をつくってたかというと、value domainのdnsのレコード更新用スクリプト。汎用JPドメインはまだDDNSサービスに対応してなかったのね…。でもTTLが120って短い期間なのでレコード更新したらすぐに反映されたのでいけた。dnsidは自分のhostのid。

#!/usr/bin/env ruby
require 'http-access2'

username = 'user'
password = 'password'
dnsid = 'xxxxx' #自分のhostのid。htmlソースとかに乗ってるのでログインすれば確かめられる。
ip_addr = 'xxx.xxx.xxx.xxx'
records = <<EOF
a @ #{ip_addr}
mx @ 10
EOF

login_uri = 'http://www.value-domain.com/login.php'
l_action = 'login2'
moddns_uri = 'http://www.value-domain.com/moddnsfree.php'
action = 'moddns3'

c = HTTPAccess2::Client.new
c.set_cookie_store("cookie.dat")
c.request('POST',login_uri, {'username' => username , 'password' => password, 'action' => l_action , 'location' => '' ,'email'=>'','domainname'=>''})
c.request('POST',moddns_uri, {'action' => action , 'dnsid' => dnsid , 'records' => records, 'box' => '' })
c.save_cookie_store
広告を非表示にする