Bug #1404: Net::HTTP::Post failing when a post field contains ":"
http://redmine.ruby-lang.org/issues/show/1404

Author: Ignacio Martín
Status: Open, Priority: Normal
Category: core, Target version: 1.9.0-5
ruby -v: ruby 1.9.0 (2007-12-25 revision 14709) [i486-linux]

require 'net/http'

post_me = {
  'var'  => 'a:b'
}
uri = URI.parse("www.someserver.com") 
request = Net::HTTP::Post.new(uri.path)
request.set_form_data(post_me)


---------------------
Gives the following error:

/usr/lib/ruby/1.9.0/net/http.rb:1524:in `sprintf': invalid value for Integer: ":" (ArgumentError)
	from /usr/lib/ruby/1.9.0/net/http.rb:1524:in `block in urlencode'
	from /usr/lib/ruby/1.9.0/net/http.rb:1524:in `gsub'
	from /usr/lib/ruby/1.9.0/net/http.rb:1524:in `urlencode'
	from /usr/lib/ruby/1.9.0/net/http.rb:1519:in `block in encode_kvpair'
	from /usr/lib/ruby/1.9.0/net/http.rb:1519:in `map'
	from /usr/lib/ruby/1.9.0/net/http.rb:1519:in `encode_kvpair'
	from /usr/lib/ruby/1.9.0/net/http.rb:1512:in `block in set_form_data'
	from /usr/lib/ruby/1.9.0/net/http.rb:1512:in `each'
	from /usr/lib/ruby/1.9.0/net/http.rb:1512:in `map'
	from /usr/lib/ruby/1.9.0/net/http.rb:1512:in `set_form_data'
	from rubybug.rb:7:in `<main>'


----------------------------------------
http://redmine.ruby-lang.org