搜索
查看: 56810|回复: 0

ASP.NET中Request.InputStream使用 [复制链接]

Rank: 9Rank: 9Rank: 9

发表于 2012-3-15 17:20:56 |显示全部楼层

将数据作为XML数据发送,例如:
public void PostXml(string url, string xml)
{
   byte[] bytes = Encoding.UTF8.GetBytes(xml);
   HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
   request.Method = "POST";
   request.ContentLength = bytes.Length;
   request.ContentType = "text/xml";
   using (Stream requestStream = request.GetRequestStream()) {
     requestStream.Write(bytes, 0, bytes.Length);
   }

   HttpWebResponse response = (HttpWebResponse) request.GetResponse();
   if (response.StatusCode != HttpStatusCode.OK) {
     string message = String.Format("POST failed. Received HTTP {0}",
     response.StatusCode);
     throw new ApplicationException(message);
   }
}


接收端通过Request.InputStream读取:
byte[] byts = new byte[Request.InputStream.Length];
Request.InputStream.Read(byts,0,byts.Length);
string req = System.Text.Encoding.Default.GetString(byts);
req = Server.UrlDecode(req);


对于完整的XML数据,可以:
xmlDoc = new XmlDocument();
xmlDoc.load(Request.InputStream);



回顶部