2

我的 POST 请求中有这段字符串:

"signature=bI�(��0�P���h;"

现在,我想对其进行编码,因为我的WebResponse班级不想将其发送过来。我尝试使用HttpUtility.HtmlEncode(),但该方法不想合作(我的意思是字符串保持不变)。

我如何编码那些奇怪的字符,以便它通过 http?

编辑:好的 nvm,我刚刚发现还有一个名为 .UrlEncode() 的方法,它按预期工作,对不起!

4

3 回答 3

4

.NET 也有 URL 编码:http: //msdn.microsoft.com/en-us/library/zttxte6w.aspx或查找 HttpUtility.UrlEncode

于 2013-02-27T23:17:17.973 回答
2

您可以使用HttpUtility.UrlEncode.

HttpUtility.UrlEncode- URL 编码确保所有浏览器都能正确传输 URL 字符串中的文本。问号 (?)、与号 (&)、斜线 (/) 和空格等字符可能会被某些浏览器截断或损坏。因此,这些字符必须在标签或查询字符串中编码,其中字符串可以由浏览器在请求字符串中重新发送。

于 2013-02-27T23:18:16.250 回答
1

如果您的意思是“作为表单值发布”,那么这是一件相当标准的事情。为什么不让库组件担心这一点:

using (var client = new WebClient())
{
   var vals = new NameValueCollection();
   vals["signature"] = yourString;
   // other form inputs here...
   client.UploadValues(url, "post", vals);
}
于 2013-02-27T23:20:19.100 回答