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