使用HttpListener访问键/值对

时间:2014-07-23 00:25:22

标签: c# .net webserver key-value httplistener

编辑:请注意,这是一个WinForms应用程序,而不是Web应用程序。

我使用WebClient.UploadValues(Uri, "POST", NameValueCollection)将值发送到HttpListener的实例。在听众方面,当HttpListener.GetContext()方法返回时,我可以以byte []的形式访问发送的数据。

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

  • 键1 =值
  • 键2 =值
  • ...

字符串中的每个项目都以&符号&分隔。密钥和值都使用HttpUtility.HtmlEncode/HttpUtility.HtmlDecode进行编码,因此我可以根据&符分割数据。但是,如果键或值包含它,则相等的=符号不会被编码。

数据中的等号是可以预期的,并且由于HtmlEncode没有处理它,是否有其他标准的实用程序类可以提供帮助?我想尽可能避免手动更换字符串,因为它容易出错。

1 个答案:

答案 0 :(得分:0)

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