title: Escaping parameters in set_form_data POST
body: <p>This is the oddest thing.  When I add the <code>;</code> in <code>set_form_data</code>, <code>value</code> gets interpreted as <code>value;</code> on the server side.  When I remove the <code>;</code>, the value for 'dontescape' gets interpreted as <code>file%3a%2f%2f%2fpath%2fto</code>.  What the heck is happening?  I don't want anything escaped unless I explicitly call CGI::escape!  Please help :)</p>
  
  <pre><code>postParams = {
    'key1' =&gt; 'value',
    'dontescape' =&gt; 'file:///path/to'
  }
  
  url = URI.parse('https://my.url')
  
  req = Net::HTTP::Post.new(url.path)
  req.basic_auth('username', 'password')
  
  req.set_form_data(postParams, ';')
  
  sock = Net::HTTP.new(url.host, 443)
  sock.use_ssl = true
  sock.ssl_version = 'SSLv3'
  sock.start do |http|
  response = http.request(req) do
    return response.body
  end
  </code></pre>