[英]Parse POST parameters from HttpListener
假設我有 HttpListener。 它監聽一些端口和ip。 當我發送 POST 請求時,它會捕獲它。 如何解析來自 HttpListenerRequest 的 POST 參數?
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
if ( request.HttpMethod == "POST" )
{
// Here i can read all parameters in string but how to parse each one i don't know
}
幾個小時前我遇到了這個問題並提出了這個答案,希望它在解析 POST 數據時對某人有所幫助
//using System.Web and Add a Reference to System.Web
Dictionary<string, string> postParams = new Dictionary<string, string>();
string[] rawParams = rawData.Split('&');
foreach (string param in rawParams)
{
string[] kvPair = param.Split('=');
string key = kvPair[0];
string value = HttpUtility.UrlDecode(kvPair[1]);
postParams.Add(key, value);
}
//Usage
Console.WriteLine("Hello " + postParams["username"]);
POST 正文(從 HttpListenerRequest 上的 InputStream 讀取)使用您選擇的任何對 POST 數據進行編碼的機制進行解析。
例如,您可以在瀏覽器中使用對 JavaScript 對象的 JSON.stringify 調用發送 JSON。 在這種情況下,您可以在 .Net 或 JSON.Net 中使用 JSON 反序列化器。
或者,您可以選擇完全發送 XML、CSV 或其他內容。
希望有幫助 - 哈羅德
我是 Web 應用程序的新手,所以我不確定我的答案是否正確,但要解析請求中的參數,您可以執行以下操作:
HttpListenerRequest request = httpListenerContext.Request;
string val;
foreach (string keys in request.QueryString.AllKeys)
val = request.QueryString[keys];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.