有关post 方式访问 webservice的 一些 底层代码的问题
设置ContentType:application/x-www-form-urlencoded";有何用,必须这个值吗?
有必要 UrlEncode("name"); 这个字符串?
既然有Stream writer = req.GetRequestStream(); 那还用response.GetResponseStream(); 作什么?
writer.Write(payload, 0, payload.Length); 写到了哪里了
=============================
string url = "http://localhost/BOOK/CH3/FirstServicecs.asmx/HelloWorld";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
//POST方式请求
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
string strname= System.Web.HttpUtility.UrlEncode("name");
strname = strname + "=" + System.Web.HttpUtility.UrlEncode(textBox1.Text);
byte[] payload;//将URL编码后的字符串转化为字节
payload = System.Text.Encoding.UTF8.GetBytes(strname);
req.ContentLength = payload.Length;
Stream writer = req.GetRequestStream();
writer.Write(payload, 0, payload.Length); writer.Close();
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
System.IO.Stream s;
s = response.GetResponseStream();
XmlTextReader reader =new XmlTextReader(s);
reader.MoveToContent();
label1.Text = reader.ReadInnerXml(); reader.Close();