2010-02-19 50 views
2

我想通过URL将参数传递给此CGI表单(http://www.westegg.com/inflation/),所以我不必手动输入它们,以便通过其他方法生成URL意味着更快的使用。通过URL将CGI参数传递给表单

下面是从网站的CGI表单代码:

<form action="infl.cgi" method="post"> 

Enter the amount of money: <input name="money" type="text" size="9"> 

<p> 

Enter the initial year (1800-2008): 
<input name="first" type="text" size="4" maxlength="4"> 

<p> 

Enter the final year (1800-2008): 
<input name="final" type="text" size="4" maxlength="4" value="2007"> 

<p> 
<center> 

    <input type="submit" value="Submit"> 
</center> 
</form> 

我试图通过传递参数“?”和“&”语法,但这些工作:

http://www.westegg.com/inflation/infl.cgi?money=1&first=1800&last=1900 
http://www.westegg.com/inflation/infl.cgi?money="1.00"&first="1800"&last="1900" 

感谢您的帮助:)

+1

你控制'westegg.com'吗?显然,'infl.cgi'被写入处理“POST”的表单。当然,您可以使用常用工具自动化您的帖子,而不是通过在地址栏中输入信息。而且,我不确定这是否不滥用网站的资源。想想看,**你有编程问题吗?**不这么认为。 – 2010-02-19 18:56:26

回答

5

注意形式使用POST方法,而不是GET。在URL中传递参数是不可能的。那里有很多信息POST如何工作。

+0

啊,我以为POST可能是个问题。对不起,我对CGI不熟悉:(因此,通过URL传递参数根本不可能?那么POST方法与GET的工作方式有何不同? – VMDX 2010-02-19 18:58:56

+0

您应该很容易地找到有关HTTP协议(包括GET和POST不同)通过Google工作 – adamse 2010-02-19 19:06:13

+0

要使用GET,您需要做的就是通过URL传递选项,使用POST需要通过请求的HTTP头传递数据,因此您需要构建您的在代码中使用自己的http请求,或者使用框架为你做这件事 – ridecar2 2010-02-19 19:06:53

0

因此,我能够得到类似于工作的东西。首先,确保你有正确的参数和名称(你有明显的变量名称)。您需要查看生成页面的源代码,但是您需要查找执行表单的变量。在我的情况下,我使用的是搜索页面,按钮名称是“searchresultFlag”。尝试是这样的:

http://www.westegg.com/inflation/infl.cgi?money=1&first=1800&final=1900&searchresultFlag=1

我的参数是与你不同,但是这为我工作。

+0

虽然这可能是解决问题的有价值的提示,但答案确实需要证明解决方案。请[编辑]提供示例代码来展示你的意思。或者,可以考虑将其写为注释。 – 2016-09-26 08:31:21