2010-02-19 81 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