我正在用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