【问题标题】:Windows Batch File CGI parse GET requestWindows 批处理文件 CGI 解析 GET 请求
【发布时间】:2016-10-08 00:40:39
【问题描述】:

我想知道如果可能的话,我如何在 .bat CGI 脚本中解析 QUERY_STRING... 像这样:

请求:

QUERY_STRING=namebox=john%20doe&passwordbox=myPasscode

我想要什么:

set namebox=john doe && set passwordbox=myPasscode 

谢谢大家,C.

【问题讨论】:

  • 我不明白您从哪里获取数据。
  • 我从带有这个标签的表单中获取数据:
  • 查询字符串如何传输到批处理文件中?通过 process.bat "amebox=john%20doe&passwordbox=myPasscode" 之类的参数还是通过变量?
  • 请注意stackoverflow.com 不是免费的脚本/代码编写服务。如果您告诉我们到目前为止您已经尝试过什么(包括您已经在使用的脚本/代码)以及您遇到的问题,那么我们可以尝试帮助解决具体问题。您还应该阅读How do I ask a good question?
  • 回复@jeb 我正在为 Windows 使用 Apache HTTPD 服务器二进制文件。查询字符串使用变量 %QUERY_STRING% 传递...我尝试了许多代码,包括set parseq=%QUERY_STRING:&= % 等...我非常擅长批处理,但不知道 FOR 命令是如何工作的...漂亮确定 FOR 是这里的答案,但 TechNet 对 FOR 的描述非常令人困惑......

标签: parsing batch-file get cgi html-escape-characters


【解决方案1】:

for /f "tokens=1-3 delims=&%20" %a in ("%QUERY_STRING%") do set "namebox=%a %b" && set "passwordbox=%c"

【讨论】:

  • 试试这个:for /f "tokens=1-5 delims==&%20" %a in ("%QUERY_STRING%") do set "namebox=%b %c" && set "密码框=%e"
  • set QUERY_STRING="namebox=john%%20doe&passwordbox=myPasscode" for /f "tokens=1-5 delims==&%20" %a in ("%QUERY_STRING%") do set "namebox=%b %c" && set "passwordbox=%e" set pause
  • 注意双引号位置,不要双百分号:set "QUERY_STRING=namebox=john%20doe&passwordbox=myPasscode"
  • 试过了,也没用。请记住,这是在批处理文件中,而不仅仅是在命令行中。我不断收到:Error: QUERY_STRINGb was not expected at this time ???我没在里面放b!!!???
猜你喜欢
  • 2012-09-01
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多