将数据作为XML数据发送,例如:
public
void
PostXml(
string
url,
string
xml)
{
byte[] bytes = Encoding.UTF8.GetBytes(xml);
![](https://i-blog.csdnimg.cn/blog_migrate/2bce058b5cf6506f4524a15ece27a287.gif)
HttpWebRequest request
= (HttpWebRequest) WebRequest.Create(url);
![](https://i-blog.csdnimg.cn/blog_migrate/c8d02aceb7bedb7ba370e8d487940bec.gif)
request.Method
= "POST";
![](https://i-blog.csdnimg.cn/blog_migrate/9156d5c804a15d0856723ba617e4b5a4.gif)
request.ContentLength
= bytes.Length;
![](https://i-blog.csdnimg.cn/blog_migrate/89d26860e22a9064debc7fc8920e0d69.gif)
request.ContentType
= "text/xml";
using (Stream requestStream = request.GetRequestStream()) {
![](https://i-blog.csdnimg.cn/blog_migrate/d02176b6c7014bf5f0fecfbae192c696.gif)
requestStream.Write(bytes,
0, bytes.Length);
![](https://i-blog.csdnimg.cn/blog_migrate/d672cb0d01283ed526bb57de491c3b31.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/e552ce2b6fe15f22624db0fa222d0467.gif)
HttpWebResponse response
= (HttpWebResponse) request.GetResponse();
if (response.StatusCode != HttpStatusCode.OK) {
string message = String.Format("POST failed. Received HTTP {0}",
![](https://i-blog.csdnimg.cn/blog_migrate/d4e8b6cd7c905931a4ef265d9b94b2be.gif)
response.StatusCode);
throw new ApplicationException(message);
![](https://i-blog.csdnimg.cn/blog_migrate/26b9bffdd972b9f4ecf442712bd3db9e.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/5d7aaef9fa661a2eabe93a15f4075d19.gif)
}
接收端通过Request.InputStream读取:
byte
[] byts
=
new
byte
[Request.InputStream.Length];
![](https://i-blog.csdnimg.cn/blog_migrate/92410eb07b050526556d48ac5be70e2e.gif)
Request.InputStream.Read(byts,
0
,byts.Length);
string
req
=
System.Text.Encoding.Default.GetString(byts);
![](https://i-blog.csdnimg.cn/blog_migrate/3977aadd57e1f911f4a2d73dc707a316.gif)
req
=
Server.UrlDecode(req);
对于完整的XML数据,可以:
xmlDoc
=
new
XmlDocument();
![](https://i-blog.csdnimg.cn/blog_migrate/c2743cd107c25b8785624666898d86d0.gif)
xmlDoc.load(Request.InputStream);