使用HttpListener访问键/值对



EDIT:请注意,这是一个WinForms应用程序,而不是一个web应用程序。

我使用WebClient.UploadValues(Uri, "POST", NameValueCollection)HttpListener的实例发送值。在侦听器端,当HttpListener.GetContext()方法返回时,我可以访问发送的数据作为byte []

我可以使用EncodingXXX.GetString(buffer)将此数据转换为文本,它返回以下内容:

  • Key1 = Value1
  • Key2 = Value2

字符串中的每一项都用&符号&分隔。键和值都是使用HttpUtility.HtmlEncode/HttpUtility.HtmlDecode编码的,所以我可以根据与号分割数据。但是,如果键或值中包含=符号,则不会对其进行编码。

数据中的等号是预期的,因为htmlcode不照顾它,是否有其他标准实用程序类可以帮助?如果可能的话,我希望避免手动替换字符串,因为它容易出错。

事实证明HttpUtility.UrlEncode / HttpUtility.UrlDecode更适合这类数据

最新更新