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
更适合这类数据