var request = WebRequest.Create(url);//url 是post 接口的URL
request.Method = "post";// 请求方法 request.ContentType = "text/xml"; //请求类型 request.Headers.Add("charset:utf-8"); //设置文档类型的编码格式 var encoding = Encoding.GetEncoding("utf-8"); if (data != null) { byte[] buffer = encoding.GetBytes(data); //data 要传输的 数据 ,要POST的数据如:
StringBuilder data=new StringBuilder();
data.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
data.Append("<aa>你的xml内容</aa>");
data.Append("<bb>你的xml内容</bb>");
data.Append("<cc>你的xml内容</cc>");
......................
data.ToString();此时的data就是传输来的数据;
request.ContentLength = buffer.Length;//HTTP消息实体的传输长度
request.GetRequestStream().Write(buffer, 0, buffer.Length);//要传输的数据 HttpWebResponse myResponse = request.GetResponse() as HttpWebResponse;// 获取来自internet的响应 string contentType = request.Headers[HttpRequestHeader.ContentType]; StreamReader reader = null; reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8); string content = reader.ReadToEnd();//读取返回的数据 XmlDocument strcontent = new XmlDocument(); strcontent.LoadXml(content);//将接受到的返回的数据转为xml数据 XmlElement xe = strcontent.DocumentElement; //判断是否推送成功; if (content.Contains("false"))//此部分可根据返回来的数据来判读,本例中中返回的数据包含false 因此这样写 { XmlNode CONNUMB = xe.SelectSingleNode("//" + "Error");//取xml 具体的节点 info.Msg = CONNUMB.InnerText.ToString(); 接受错误信息 } if (content.Contains("true"))此部分可根据返回来的数据来判读,本例中中返回的数据包含true 因此这样写 { XmlNode Corpbillid = xe.SelectSingleNode("//" + "corpbillid");//取xml 具体的节点//请求返回成功写自己的逻辑
//
} reader.Close(); myResponse.Close(); }