Request Error Submitting CGI Form

Hi guys,

I’m trying to submit a form to the following website
(http://www.tse.or.jp/tseHpFront/HPLCDS0101E.do) and just want to print
out the result.

Here’s the code that I’m using.

require ‘rubygems’
require ‘mechanize’

agent = Mechanize.new
page = agent.get(‘http://www.tse.or.jp/tseHpFront/HPLCDS0101E.do’)

search_form = page.form(‘HPLCDS0101Form’)
search_form.callJorEFlg = 1
search_form.exeKind = ‘HPLCDS0101E’
search_form.searchListCount = 200
search_form.checkbox_with(:value => ‘001’).check
search_form.checkbox_with(:value => ‘002’).check
search_form.checkbox_with(:value => ‘004’).check

page = agent.submit(search_form)
pp page

Unfortunately, I’m getting the following error in the request.

C:/Ruby/lib/ruby/gems/1.8/gems/mechanize-1.0.0/lib/mechanize.rb:464:in
post_for m': 500 => Net::HTTPInternalServerError (Mechanize::ResponseCodeError) from C:/Ruby/lib/ruby/gems/1.8/gems/mechanize-1.0.0/lib/mechanize.rb:370 :in submit’
from tester.txt:15

It looks like I’m missing some parameter in the request object. Can
anyone suggest what I need to do to make my request work?

Excuse me if I’m doing something wrong, I’m new to this. Thanks!

Hei Robert,

you’re missing a parameter (‘method’) in your form, that’s why the
POST
returns 500.
Here’s your code, modified so that it works:

require ‘rubygems’
require ‘mechanize’

agent = Mechanize.new
page = agent.get(‘http://www.tse.or.jp/tseHpFront/HPLCDS0101E.do’)

search_form = page.form(‘HPLCDS0101Form’)
search_form.callJorEFlg = 1
search_form[‘method’] = ‘search’
search_form.exeKind = ‘HPLCDS0101E’
search_form.searchListCount = 200
search_form.checkbox_with(:value => ‘001’).check
search_form.checkbox_with(:value => ‘002’).check
search_form.checkbox_with(:value => ‘004’).check

page = agent.submit(search_form)
pp page

hope that helps!


Andrea D.

Thank you very much, I should have known it was something simple :slight_smile: