Net::HTML#post_form with ASP


#1

Hello,

I’ve been trying to use Net::HTML.post_form to POST to a .asp file.

url = URI.parse("http://www.ascca.com/findashop/findashopdetail.asp")
res = Poster.post_form(url, { "id" => '1' } )
puts res.body

This does not work with ASP pages but works fine with other pages.

Here’s the error i get:

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator) in query expression ‘[ID]=’.

I believe it has something to do with it being urlencoded, but i’m not
exactly sure.

Any ideas?

Thanks,

Ricardo Amorim


#2

Just a note: The Poster class is a Net::HTTP subclass. I was using it
to test the code. You could just use Net::HTTP instead.

Regards,

Ricardo


#3

On Mar 14, 2006, at 1:09 PM, |MKSM| wrote:

Here’s the error i get:

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator) in query expression ‘[ID]=’.

I believe it has something to do with it being urlencoded, but i’m not
exactly sure.

Any ideas?

I think you are running into this:

http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/182324

I suspect the fix in that thread will get you going again.

Hope that helps.

James Edward G. II


#4

Hello,

The fix did not work.I still get the same error. There is some bug here.

I’ve tested an app i coded last month and it still works:

url = URI.parse(“http://translate.google.com/translate_t”)
g_res = Net::HTTP::post_form(url, { ‘text’ => “#{string}”, ‘langpair’
=> “#{from_lang}|#{to_lang}” } )
p g_res.body

Perhaps it has something to do with the file type you POST to?
(php/cfm/asp)

Regards,

Ricardo


#5

On 3/14/06, |MKSM| removed_email_address@domain.invalid wrote:

Here’s the error i get:

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator) in query expression ‘[ID]=’.

The problem is that the receiving end seems to be expecting id in the
query string: request.querystring(“id”) for GET vs. request.form(“id”)
for POST in ASP.

HTH

C