dataStream.Close();
必須執行,否則伺服器不會回應。也可呼叫 System.IO.Stream.Close()。
WebResponse objResponse = objWebRequest.GetResponse();
var httpResponse = (HttpWebResponse)objResponse;
if (httpResponse.StatusDescription != "OK")
{
// 處理錯誤狀態
}
Stream dataStream = objResponse.GetResponseStream();
直接輸出到瀏覽器:
dataStream = objResponse.GetResponseStream();
var reader = new StreamReader(dataStream);
Response.Write(HttpUtility.HtmlEncode(reader.ReadToEnd()));
儲存二進位資料(檔案下載):
using var outStream = File.Create("Temp.data");
byte[] buffer = new byte[1024];
int bytesRead;
do
{
bytesRead = dataStream.Read(buffer, 0, buffer.Length);
if (bytesRead > 0) outStream.Write(buffer, 0, bytesRead);
} while (bytesRead > 0);
objResponse.Close();
var doc = new XmlDocument();
doc.Load(Server.MapPath("~") + @"\" + xmlFile);
var req = (HttpWebRequest)WebRequest.Create(@"https://s:81/5do8/webs.asmx");
req.ContentType = "text/xml;charset=utf-8";
req.Accept = "text/xml";
req.Method = "POST";
using (var stm = req.GetRequestStream())
{
doc.Save(stm); // 直接儲存 XML 到請求串流
}
using (var resp = req.GetResponse())
using (var stm = resp.GetResponseStream())
using (var reader = new StreamReader(stm))
{
Response.Write(HttpUtility.HtmlEncode(reader.ReadToEnd()));
}
Stream 直接讀寫Save 到請求串流