post xml到指定的介面)

來源:互聯網
上載者:User

自己做完了post xml的功能,想記一下日記,卻發現網上的提供了更多的一種方法,就是xmlhttp的一種,所以轉過來一下。

 

原文:post xml檔案給指定url的2種方法

 

1  這段代碼是在網上搜到的,拿來共用,項目正好要用到。其中的data你只需要傳遞一個xml字串就可以

protected   string   PostXmlToUrl(string   url,string   data)  
  {  
  HttpWebRequest   hwr   =   (HttpWebRequest)HttpWebRequest.Create(url);  
  hwr.Method   =   "POST";  
   
  Stream   stream   =   hwr.GetRequestStream();  
   
  StreamWriter   sw   =   new   StreamWriter(stream,System.Text.Encoding.UTF8);  
  sw.Write(data);  
  sw.Close();  
   
  stream   =   hwr.GetResponse().GetResponseStream();  
   
  StreamReader   sr   =   new   StreamReader(stream,System.Text.Encoding.UTF8);  
  string   ret   =   sr.ReadToEnd();  
  sr.Close();  
   
  return   ret;  
   
  }  

2  利用xmlhttp對象,來發送請求.
   StreamReader sr=new StreamReader(Server.MapPath(XMLPathFull));
   MSXML2.XMLHTTPClass xmlHttp = new MSXML2.XMLHTTPClass();   
   xmlHttp.open("post",strURL,false,"","");
  
   xmlHttp.setRequestHeader  ("Content-type","text/xml;charset=UTF-8");
   xmlHttp.send(sr.ReadToEnd());
   //得到response
   string backxmlstring=xmlHttp.responseText.ToString();

解讀這個響應的話只需要2行代碼,
byte[]   buf   =   Request.BinaryRead(Request.ContentLength);  
  string   str   =   System.Text.Encoding.UTF8.GetString(buf);  
這樣就能得到。
其實以上代碼就可以建立一個簡單的伺服器間的互動模式,類比的b/s架構,跟使用webservice與伺服器間互動差不多,soap和http其實比較類似的。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.