Perl CGI 可靠地读取 url_param 和 param

标签 perl url cgi param

我正在编写一个函数,一旦所有传递给 CGI 脚本的参数都会列出,无论是通过使用 POST 发送的表单、URL 字符串,还是两者兼而有之。

这有两个函数:

param():尽管 documentation ,我发现只有在没有 POST 参数的情况下,才能从 OR URL 参数的表单中读取 EITHER POSTed 参数。

另一方面,url_param() 将永远读取通过 URL 字符串传入的参数,而不管 POST。


我的函数

sub post_and_url_param_keys{
  if(url_param){
    return [url_param, param];
  }else{
    return [param];
}

它可以列出所有传入的参数:

POST 和 URL 参数

仅 POST 参数

X 仅限 URL 参数(每个键列出两次)

有没有一种方法可以巧妙地解决这个问题,而不必检查每个参数对的名称和值是否重复?

最佳答案

一个稍微改进的方法是检查 request_method() eq 'POST'。如果您查询字符串和发布都包含相同的参数名称,您可能仍然会得到重复的参数名称。

关于Perl CGI 可靠地读取 url_param 和 param,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232884/

相关文章:

c++ - lighttpd:启用 cgi 二进制文件的核心转储

javascript - 是否可以触发文件下载到用户的浏览器?

perl - mro、goto 和 set_subname 如何交互?

perl - perl 是否有内部函数来取消引用变量?

swift - 快速将字符串转换为谷歌可搜索字符串

azure - 从 MICROSOFT-CORP-MSN-AS-BLOCK 重写的 URL

python - 从 Python CGI 脚本中读取客户端的 header ?

perl - 如何在 perl 中删除 ls 后的换行符?

perl - 如何拦截 perl Test::More 的 BAIL_OUT() 并继续下一个测试?

javascript - 正则表达式在 Javascript 中转换 URL