gpt4 book ai didi

http - 是否可以将空格字符传递给 cgi?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:04 24 4
gpt4 key购买 nike

我有一个编译的 c 二进制文件(setch),它采用参数 HIGH/LOW/OFF 所以我试图从 javascript/jquery 执行命令,例如 setch OFF因此:

$.get("cgi-bin/setch.cgi","OFF"); -or  
$.get("cgi-bin/setch OFF");

当然,因为它是一个 get,所以空间被编码为 %20。然而,服务器然后尝试执行命令 setch%20OFF 并返回:

404 Not Found

没有参数,程序执行并返回我的消息:

no parameters

即所有路径、权限等都OK

我是不是在尝试做不可能的事情?或者我在服务器(lighttpd)配置中遗漏了什么?谢谢

最佳答案

您想将参数传递给 CGI。这样做的方法不是用空格分隔它们,而是要把参数放在“?”后面。特点。然后,HTTP 服务器会将问号后面的所有内容存储在您的 CGI 可以读取的 QUERY_STRING 环境变量中。

$.get("cgi-bin/setch?OFF");

在您的 C 程序中使用 getenv("QUERY_STRING") 访问传递的参数。

检查 https://en.wikipedia.org/wiki/Common_Gateway_Interface获取 HTTP 服务器为 CGI 程序设置的所有环境变量的列表。请务必将这些值视为不受信任的数据。

关于http - 是否可以将空格字符传递给 cgi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com