在 Ruby 中,CGI 模块提供了一系列方法用于处理 CGI 编程。以下是一些常用的 CGI 方法和功能:

获取 CGI 参数
require 'cgi'

cgi = CGI.new

# 获取单个参数值
user_name = cgi['user_name']

# 获取多个参数值
user_names = cgi.params['user_name']

# 获取所有参数的哈希
all_params = cgi.params

设置 HTTP 响应头
cgi.header("type" => "text/html", "charset" => "utf-8")

输出 HTML 内容
puts "<html>"
puts "<head><title>Ruby CGI Example</title></head>"
puts "<body>"
puts "<h1>Hello, #{user_name}!</h1>"
puts "</body>"
puts "</html>"

处理表单数据
# 获取表单数据
form_data = cgi.params

# 输出表单字段
puts "<ul>"
form_data.each do |field, value|
  puts "<li>#{field}: #{value.join(',')}</li>"
end
puts "</ul>"

上传文件处理
# 获取上传的文件
uploaded_file = cgi.params['file_upload_field']

# 保存上传的文件
File.open('uploaded_file.txt', 'wb') do |file|
  file.write(uploaded_file.read)
end

重定向
# 重定向到指定 URL
cgi.redirect('http://example.com')

Cookie 操作
# 设置 Cookie
cookie = CGI::Cookie.new('name' => 'user', 'value' => 'John')
cgi.out('cookie' => cookie)

# 获取 Cookie
user_cookie = cgi.cookies['user']

这些是 CGI 模块中的一些常用方法和功能。在实际 CGI 编程中,你可能需要根据具体需求和场景使用不同的方法。请注意在使用 CGI 编程时,要考虑安全性,对用户输入进行适当的验证和过滤,以防止安全漏洞。如有其他问题,请随时提问。


转载请注明出处:http://www.pingtaimeng.com/article/detail/13446/Ruby