/// <summary> /// Get請求 /// </summary> /// <param name="url">請求url</param> /// <returns></returns> public static string Get(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); if (req == null || req.GetResponse() == null) return string.Empty; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); if (resp == null) return string.Empty; using (Stream stream = resp.GetResponseStream()) { //獲取內容 using (StreamReader reader = new StreamReader(stream)) { return reader.ReadToEnd(); } } } /// <summary> /// Post請求 /// </summary> /// <param name="url"></param> /// <param name="postData"></param> /// <returns></returns> private static string Post(string url, object postData) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); if (req == null) return string.Empty; req.Method = "POST"; req.ContentType = "application/json"; req.Timeout = 15000; byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(postData)); //注意:無需手動指定長度 (否則可能會報流未處理完就關閉的異常,因為ContentLength時候會比真實post數據長度大) //req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); } HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); if (resp == null) return string.Empty; using (Stream stream = resp.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { return reader.ReadToEnd(); } } }