2012-05-09 23 views
1
submit_form = agent.get("http://sample.com/NewTask.aspx").form("aspnetForm") do |f| 
    f["ctl00$ContentPlaceHolder1$txtNumber"] = "1234", 
    f["ctl00$ContentPlaceHolder1$cmbText"] = "test", 
    f["ctl00$ContentPlaceHolder1$FUpload$fu"] = "", 
    f["ctl00$ContentPlaceHolder1$btn"] = "test" 
    f.submit(f.button_with(:name => "ctl00$ContentPlaceHolder1$btnOK")) 
end 

これは私がRuby用のmechanize libを使用してフォームの自動投稿に書いたコードです。これはMechanize::ResponseCodeErrorと続きます。私は実際には私のコードでエラーが表示されません、誰も親切に私はこれがコードのエラーや何か(サーバーがフォームの自動提出を防ぐ)サーバー側であることを知らせることができますか?Rubyフォーム自動投稿Mechanize :: ResponseCodeError

C:/Ruby193/lib/ruby/gems/1.9.1/gems/mechanize-2.4/lib/mechanize/http/agent.rb:29 1:Cからfetch': 500 => Net::HTTPInternalServerError for http://sample.com/NewTask.aspx -- unhandled response (Mechanize::ResponseCodeError) from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mechanize-2.4/lib/mechanize.rb:1207:in post_form」 で:/ Ruby193/'の ' から' block in <main>' from (eval):23:inの から ' のauto_post.rbから13:lib/ruby​​/gems/1.9.1/gems/mechanes-2.4/lib/mechanize.rb: 「あなたはシオマネキやチャールズなどのデバッグプロキシ経由プロキシに必要

+0

「500 Internal Server Error」と表示された場合は、サーバーログを確認する必要があります。 –

+0

あなたの返信のためにKARASZIIstvánに感謝します。私はサーバーへのアクセス権を持っていません...私はそれを修正できるように正確にどこが間違っているかを知るための他の方法はありますか? – Tylr

+0

実際の応答を確認することができます。エラーが内部にあるかもしれません( 'tcpdump'またはブラウザの開発者ツールのネットワーク部分を使用してください)。 –

答えて

1

agent.set_proxy 'localhost', 8888 

その後、PROXあなたのブラウザも同様にして要求を比較してください。