アカウントは別のYAMLに書いてあるとする。
% cat account.yaml email: hoge@example.com password: mypassword
実際のスクリプトはこんな感じ。
require 'mechanize' require 'yaml' agent = Mechanize.new agent.user_agent = 'Narou Browser' params = YAML.load_file('account.yaml') #agent.verify_mode = OpenSSL::SSL::VERIFY_NONE agent.ca_file = 'ssl.syosetu.com.crt' page = agent.get('https://ssl.syosetu.com/login/input/') next_page = page.form_with do |form| form.id = params['email'] form.pass = params['password'] end.submit p next_page
事前にサイトの証明書をブラウザからエクスポートしておく。agent.ca_file
に指定しているのがそれ。