using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
namespace CommonHelper
{
public static class HttpHelper
{
///
/// Get获取数据
///
///
///
///
public static bool GetData(string getUrl, ref string resultData)
{
Encoding encoding = Encoding.UTF8;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(getUrl);
request.Method = "GET";
using (HttpWebResponse myResponse = (HttpWebResponse)request.GetResponse())
{
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), encoding))
{
resultData = sr.ReadToEnd();
}
}
return true;
}
///
/// Post提交数据
///
/// Url
/// 提交数据
/// 结果数据
///
public static bool PostData(string postUrl, string postData, ref string resultData)
{
return PostData(postUrl, postData, "application/json;charset=utf-8", null, ref resultData);
}
///
/// Post提交数据
///
/// Url
/// 提交数据
/// HTTP标头键值对
/// 结果数据
///
public static bool PostData(string postUrl, string postData, Dictionary headers, ref string resultData)
{
return PostData(postUrl, postData, "application/json;charset=utf-8", headers, ref resultData);
}
///
/// Post提交数据
///
/// Url
/// 提交数据
/// Content-type HTTP 标头的值
/// 结果数据
///
public static bool PostData(string postUrl, string postData, string contentType, ref string resultData)
{
return PostData(postUrl, postData, contentType, null, ref resultData);
}
///
/// Post提交数据
///
/// Url
/// 提交数据
/// Content-type HTTP 标头的值
/// HTTP标头键值对
/// 结果数据
///
public static bool PostData(string postUrl, string postData, string contentType, Dictionary headers, ref string resultData)
{
Encoding encoding = Encoding.UTF8;
byte[] dataByte = encoding.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
request.Method = "POST";
request.ContentType = contentType;
request.ContentLength = dataByte.Length;
if (headers != null)
{
foreach (var obj in headers)
{
request.Headers.Add(obj.Key, obj.Value);
}
}
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(dataByte, 0, dataByte.Length);
}
using (HttpWebResponse myResponse = (HttpWebResponse)request.GetResponse())
{
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), encoding))
{
resultData = sr.ReadToEnd();
}
}
return true;
}
}
}