【问题标题】:PERL CGI CLI Special Characters Question MarkPERL CGI CLI 特殊字符问号
【发布时间】:2023-03-15 10:07:02
【问题描述】:

当我在 CLI 参数中使用问号字符 (?) 时,它不会填充值(使用 http://search.cpan.org/dist/CGI/lib/CGI.pm#DEBUGGING)。就算逃过了。

这根本不会填充“参数”:

perl httpPost.pl param="http://www.test.com/?user=test"

perl httpPost.pl param="http://www.test.com/\?user=test"

这将返回字符直到?

【问题讨论】:

  • 您想将参数param 传递给您的脚本,该参数包含一个带有参数user 的URL,还是您想将参数user 传递给您的脚本并让它相信它在 URL http://www.test.com/ 下调用?您是否尝试过对参数值进行正确的 URL 编码(例如 http%3A%2F%2Fwww.test.com%2F%3Fuser%3Dtest)?

标签: perl


【解决方案1】:

您必须对参数进行 URL 编码,以便将 URL 特有的字符转换为 %XX 字符串。那些字符串将在另一边被解码。

CPAN 上有许多模块可以帮助您进行 url 编码。这里有一些:

  1. URL::Encode
  2. URI::URL

在更广泛的意义上:Search MetaCPAN for url_encode

【讨论】:

  • 谢谢。这样可行!理想情况下,所有输入都应该被编码。该站点提供了一个 Web 界面来对 URL 字符串进行编码。 meyerweb.com/eric/tools/dencoder
猜你喜欢
  • 2012-12-09
  • 2011-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 2016-12-07
  • 1970-01-01
  • 2014-08-13
相关资源
最近更新 更多