我正在用C#编写一个小的API连接应用程序。类型为“application/x-www-form-urlencoded”的C#HttpWebRequest - 如何在内容主体中发送'&'字符?
我连接到一个API,它有一个方法需要一个长字符串,一个日历(ics)文件的内容。
我做这样的:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
request.Method = "POST";
request.AllowAutoRedirect = false;
request.CookieContainer = my_cookie_container;
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.ContentType = "application/x-www-form-urlencoded";
string iCalStr = GetCalendarAsString();
string strNew = "&uploadfile=true&file=" + iCalStr;
using (StreamWriter stOut = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII))
{
stOut.Write(strNew);
stOut.Close();
}
这似乎工作的伟大,直到我在我的日历添加一些特定HTML。
如果我有一个“& NBSP”在我的日历(或类似)服务器只得到所有的数据到“&‘ - 点的地方,所以我假设’&”使它看起来像什么此点后属于一个新的参数?
我该如何解决这个问题?
编码发送之前的字符串? – 2011-04-14 15:29:50
用%26替换&? – 2011-04-14 15:30:38