创建 CGI 脚本:
#!/usr/bin/env ruby
require 'cgi'
# 创建CGI对象
cgi = CGI.new
# 设置响应头
cgi.header("content-type" => "text/html")
# 处理HTML输出
cgi.out do
"<html><body>" \
"<h1>Hello, CGI World!</h1>" \
"<p>Request method: #{cgi.request_method}</p>" \
"<p>Query parameters: #{cgi.params}</p>" \
"</body></html>"
end
在 Web 服务器上运行:
1. 将脚本保存为 .rb 文件,例如 hello_cgi.rb。
2. 确保脚本有执行权限:chmod +x hello_cgi.rb。
3. 将脚本复制到 Web 服务器的 CGI 目录,通常是 cgi-bin。
4. 访问脚本的URL,例如 http://your_server/cgi-bin/hello_cgi.rb。
处理表单提交:
#!/usr/bin/env ruby
require 'cgi'
# 创建CGI对象
cgi = CGI.new
# 设置响应头
cgi.header("content-type" => "text/html")
# 处理HTML输出
cgi.out do
"<html><body>" \
"<h1>Form Submission</h1>" \
"<form method='post' action='#{cgi.script_name}'>" \
"Enter your name: <input type='text' name='user_name'>" \
"<input type='submit' value='Submit'>" \
"</form>" \
"<p>#{handle_form_submission(cgi)}</p>" \
"</body></html>"
end
# 处理表单提交
def handle_form_submission(cgi)
if cgi.request_method == 'POST'
user_name = cgi.params['user_name'].first
return "Hello, #{user_name}!"
end
return ''
end
这个例子演示了一个简单的HTML表单,用户可以在其中输入名字。在提交表单后,脚本将显示用户的名字。这是一个基本的CGI脚本,用于处理表单提交。
请注意,在实际应用中,你可能需要考虑安全性,对用户输入进行验证和清理,以防止潜在的安全漏洞。
转载请注明出处:http://www.zyzy.cn/article/detail/6470/Ruby