Herokuのrubyアプリへのスケジューラアドオンによって実行されるrakeタスク内でMechanizeを使用しています。スクリプトでは、スクリプトがログインできなくなった最近まで機能していたWebページにログインしています。デバッグを開始したとき、Herokuコンソールでスクリプトを実行すると、ローカルコンソールとは異なるフォームフィールドが表示されます。
ローカルルビーコンソールには、次のフィールドが表示されます。
>> asf.fields.each do |f| puts f.name end
__VIEWSTATE
__PREVIOUSPAGE
__EVENTVALIDATION
login$field
password$field
Herokuコンソールには、htmlソースに表示されない追加のフィールドが1つ表示されます。
>> asf.fields.each do |f| puts f.name end
__VIEWSTATE
__PREVIOUSPAGE
__EVENTVALIDATION
login$field
password$field
captcha$txtCaptcha
私が発行するとき:
>> asf.click_button
更新: ユーザーエージェントをいくつかの異なるブラウザーエイリアスに変更しようとしましたが、うまくいきませんでした。HerokuからのIPアドレスがキャプチャを提供しているようです。プロキシサーバーを介してリクエストを行うこと、またはTorを使用してIPが公開されないようにすることは可能でしょうか?