天天看點

如何調用其他網站提供的接口

這幾天百度的結果,總結一下

舉例說明:某網站提供發送短信接口業務

接口:SERVICE_URL變量 

參數:username,pwd,mobiles,content

傳回:<ReturnInfo>resultcode</ReturnInfo>

1、建構發送的xml或者其他形式的請求

string postData = string.Format("ActionCode=Sms01&UserName=mine&Pwd=123&Mobiles={0}&Content={1}", strMobiles, strMessage+ "【客服中心】");

并把請求轉換成位元組格式

byte[] data = Encoding.Default.GetBytes(postData);

2、 用HttpWebRequest來發送建立請求

HttpWebRequest myrequest = (HttpWebRequest)WebRequest.Create(SERVICE_URL);

3、向請求中寫入請求的相關屬性,也就是請求的頭部格式(請求方法,版本類型,請求的字元編碼,響應時間等)

            myrequest.Method = "POST";

            myrequest.ContentType = "application/x-www-form-urlencoded";

            myrequest.ContentLength = data.Length;

4、 向請求中寫入請求資訊

   using (Stream datasteam = myrequest.GetRequestStream())

            {

                datasteam.Write(data, 0, data.Length);

                datasteam.Close();

            }

5、得到響應請求

 HttpWebResponse myResponse = myrequest.GetResponse() as HttpWebResponse;

6、讀取響應中的資料

   HttpWebResponse myResponse = myrequest.GetResponse() as HttpWebResponse;

            using (StreamReader reader = new StreamReader(

                                                   myResponse.GetResponseStream()

                                                 , System.Text.Encoding.GetEncoding("utf-8")))

                response = reader.ReadToEnd();

                xmlDoc.LoadXml(response);

                reader.Close();

           }

一般從網站傳回的是一段xml格式的字元串

7、把該字元串轉換成xml格式,并取出當中的相關資料

XmlDocument xmlDoc = new System.Xml.XmlDocument();

string result = xmlDoc.SelectSingleNode("ReturnInfo").InnerText;