编辑:请注意,这是一个WinForms应用程序,而不是Web应用程序。
我使用WebClient.UploadValues(Uri, "POST", NameValueCollection)
将值发送到HttpListener
的实例。在听众方面,当HttpListener.GetContext()
方法返回时,我可以以byte []
的形式访问发送的数据。
我可以使用EncodingXXX.GetString(buffer)
将此数据转换为文本,返回以下内容:
字符串中的每个项目都以&符号&
分隔。密钥和值都使用HttpUtility.HtmlEncode/HttpUtility.HtmlDecode
进行编码,因此我可以根据&符分割数据。但是,如果键或值包含它,则相等的=
符号不会被编码。
数据中的等号是可以预期的,并且由于HtmlEncode没有处理它,是否有其他标准的实用程序类可以提供帮助?我想尽可能避免手动更换字符串,因为它容易出错。
答案 0 :(得分:0)
事实证明HttpUtility.UrlEncode / HttpUtility.UrlDecode
更适合此类数据。