我的 POST 请求中有这段字符串:
"signature=bI�(��0�P���h;"
现在,我想对其进行编码,因为我的WebResponse
班级不想将其发送过来。我尝试使用HttpUtility.HtmlEncode()
,但该方法不想合作(我的意思是字符串保持不变)。
我如何编码那些奇怪的字符,以便它通过 http?
编辑:好的 nvm,我刚刚发现还有一个名为 .UrlEncode() 的方法,它按预期工作,对不起!
.NET 也有 URL 编码:http: //msdn.microsoft.com/en-us/library/zttxte6w.aspx或查找 HttpUtility.UrlEncode
您可以使用HttpUtility.UrlEncode
.
HttpUtility.UrlEncode
- URL 编码确保所有浏览器都能正确传输 URL 字符串中的文本。问号 (?)、与号 (&)、斜线 (/) 和空格等字符可能会被某些浏览器截断或损坏。因此,这些字符必须在标签或查询字符串中编码,其中字符串可以由浏览器在请求字符串中重新发送。
如果您的意思是“作为表单值发布”,那么这是一件相当标准的事情。为什么不让库组件担心这一点:
using (var client = new WebClient())
{
var vals = new NameValueCollection();
vals["signature"] = yourString;
// other form inputs here...
client.UploadValues(url, "post", vals);
}