2012-11-23 57 views
4

當我在CLI參數中使用問號字符(?)時,它不填充值(使用http://search.cpan.org/dist/CGI/lib/CGI.pm#DEBUGGING)。即使它逃脫了。PERL CGI CLI特殊字符問號

這不會在所有的填充 「參數」:

perl的httpPost.pl PARAM = 「http://www.test.com/?user=test」

perl的httpPost.pl PARAM = 「http://www.test.com/\?user=test」

這將返回字符,直到?

+1

你想通過你的腳本參數'param'包含一個URL用參數'user',還是想讓腳本傳遞參數'user'並讓它相信它是在URL http:// www.test.com /'下調用的?您是否嘗試過參數值的正確URL編碼(例如'http%3A%2F%2Fwww.test.com%2F%3Fuser%3Dtest')? – amon

回答

3

您必須對您的參數進行網址編碼,以便URL中特殊的字符將轉換爲%XX字符串。那些字符串將在另一側解碼。

CPAN上有許多模塊可以幫助您進行網址編碼。這裏有幾個:

  1. URL::Encode
  2. URI::URL

,並在更廣泛的意義:Search MetaCPAN for url_encode

+0

謝謝。這樣可行! 理想情況下,所有輸入應該被編碼。 此網站提供了一個網頁界面來編碼URL字符串。 http://meyerweb.com/eric/tools/dencoder/ – revert