C#HttpWebReqest - 逃避POST内容?
问题描述:
当我上传的内容从我的C#应用程序在过去的一个网站,我用了一个POST请求,像这样:C#HttpWebReqest - 逃避POST内容?
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://" + this.server + "/log.php");
wr.Method = "POST";
wr.ContentType = "application/x-www-form-urlencoded";
string paramString = "v=" + this.version + "&m=" + this.message;
wr.ContentLength = paramString.Length;
StreamWriter stOut = new StreamWriter(wr.GetRequestStream(), System.Text.Encoding.ASCII);
stOut.Write(paramString);
stOut.Close();
我的问题是,现在我的情况是,其中this.message
会很可能包含换行符,制表符,并包括“&”和“=”特殊字符。我需要转义这些内容吗?如果是这样,怎么样?
答
您可以使用HttpUtility.HtmlEncode/HtmlDecode或以UrlEncode/UrlDecode适当。
答
仅供参考,解决我的问题是:
System.Web.HttpUtility.UrlEncode
这是由.NET Framework版本都支持= P
具体来说,我使用过载这需要一个string as an argument。在所有参数值上运行此操作将使它们对于POSTing是安全的。
答
System.Web已过时 - 请使用System.Net.WebUtility
来代替...
是的。以UrlEncode是我需要的东西: http://msdn.microsoft.com/en-us/library/4fkewx0t.aspx 感谢。 – 2009-04-20 22:32:26