簡體   English   中英

從 HttpListener 解析 POST 參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM