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

Http 是否可以将空格字符传递给cgi?,http,cgi,lighttpd,Http,Cgi,Lighttpd,我有一个已编译的c二进制文件(setch),它接受参数HIGH/LOW/OFF,因此我试图从javascript/jquery执行命令egsetch OFF,因此: $.get("cgi-bin/setch.cgi","OFF"); -or $.get("cgi-bin/setch OFF"); 因为它是get,所以空间被编码成%20,当然了。但是,服务器随后尝试执行命令setch%20OFF,并返回: 404找不到 如果没有参数,程序将执行并返回我的消息: 无参数 ie所有路径、权限

我有一个已编译的c二进制文件(setch),它接受参数
HIGH/LOW/OFF
,因此我试图从javascript/jquery执行命令eg
setch OFF
,因此:

$.get("cgi-bin/setch.cgi","OFF"); -or  
$.get("cgi-bin/setch OFF");  
因为它是get,所以空间被编码成%20,当然了。但是,服务器随后尝试执行命令
setch%20OFF
,并返回:

404找不到

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

无参数

ie所有路径、权限等均正常

我想在这里做不可能的事吗?或者我在服务器(lighttpd)配置中遗漏了什么?
谢谢

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

在C程序中,使用
getenv(“QUERY\u STRING”)
访问传递的参数


检查HTTP服务器为CGI程序设置的所有环境变量的列表。确保将这些值视为不受信任的数据。

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

在C程序中,使用
getenv(“QUERY\u STRING”)
访问传递的参数


检查HTTP服务器为CGI程序设置的所有环境变量的列表。请务必将这些值视为不受信任的数据。

非常感谢。我找不到的关键点是环境变量的使用。现在一切都好了…非常感谢。我找不到的关键点是环境变量的使用。现在一切都好了。。。
$.get("cgi-bin/setch?OFF");