2015-05-15 76 views
0

我正在爲我的網站寫一個GET計算器。此計算器會計算URL的exp參數中提供的表達式。我知道它反對RFC,但有什麼辦法可以讓我登錄網址+允許加號+登錄網址

我發現的一種方法是向我的用戶提供一個文檔,他們將替換一些特殊標籤來添加像[op:plus]這樣的加號。然後在代碼後面替換爲+,後面是一個ASP.NET通用處理程序。但是,如果RFC中有任何內容允許+簽名,那將會很棒。這樣我就不必提供任何文檔。

+0

您的用戶訪問它通過瀏覽器,還是編程方式,或兩者兼而有之? – mason

+0

@mason實際上,它是一種可以以任何用戶喜歡的方式訪問的API。 –

+0

如果你的用戶輸入+符號,現在會發生什麼? – mason

回答

3

編碼+登錄URL查詢字符串參數的正確方法是%2B。 ASP.NET會自動將它解碼爲+

如果您的用戶使用a proper URL encoding library,這個編碼將自動發生:

string equation = "1 + 2 - 3"; 
Console.WriteLine(HttpUtility.UrlEncode(equation)); 

輸出:

1 +%2B + 2 + - + 3

+0

好的,但asp.net用URL中的空白替換了'+'。你的字符串就像'1 2 - 3'。 –

+2

@AishwaryaShiva請重新閱讀本答案。 –

+0

@ErikPhilips當使用Request [「exp」]'獲取參數時,我該如何使用它?它用空格替換'+'。 –