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