0
これは奇妙なことです。 ;
をset_form_data
に追加すると、value
はサーバー側でvalue;
と解釈されます。 ;
を削除すると、 'dontescape'の値はfile%3a%2f%2f%2fpath%2fto
と解釈されます。一体何が起こっているのですか? CGI :: escapeを明示的に呼び出さない限り、何もエスケープしたくないです!助けてください:)set_form_data POSTのパラメータをエスケープする
postParams = {
'key1' => 'value',
'dontescape' => '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
フォーマットが改善されました。タブを使用しないでください(これまでのRuby)! –
改善または改善する(d)?私はタブが好き、彼らは私の考えを助ける! –
私はすでにあなたのコードを改善しました。そして残念なタブはRubyの規約ではありません。 –