当我过去将我的C#应用程序中的内容上传到网站时,我使用了这样的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
很可能包含换行符,标签和特殊字符(包括“&”)的情况和“=”。我是否需要逃避这些内容。如果是这样,怎么样?
答案 0 :(得分:10)
您可以根据需要使用HttpUtility.HtmlEncode / HtmlDecode或UrlEncode / UrlDecode。
答案 1 :(得分:3)
仅供参考,我的问题的解决方案是:
System.Web.HttpUtility.UrlEncode
所有版本的.Net framework = p
都支持具体来说,我使用的是string as an argument的重载。在所有参数值上运行此操作将使它们对于POSTing安全。
答案 2 :(得分:1)
System.Web已过时 - 请改用System.Net.WebUtility
...