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();
}