#region 含账号密码的Http请求封装
/// <summary>
/// Http的Post请求【含账号密码】
/// </summary>
/// <param name="Url"></param>
/// <param name="postDataStr"></param>
/// <returns></returns>
public static T GetHttpEntityPostByNamePwd<T>(string Url, string postDataStr)
{
string retStr = GetHttpPostByNamePwd(Url, postDataStr);
T entity = GetJsonXml.GetEntityByJson<T>(retStr);
return entity;
}
/// <summary>
/// Http的Get请求【含账号密码】
/// </summary>
/// <param name="url"></param>
/// <param name="postData"></param>
/// <returns></returns>
public static string GetHttpGetByNamePwd(string url)
{
string resultStr = string.Empty;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/json;charset=utf-8";
//账户
string name = "";
//密码
string pwd = "";
string bh = "Authorization:Basic";
string header = name + ":" + pwd;
//UTF8标准转码加密
string base64Header = Convert.ToBase64String(Encoding.UTF8.GetBytes(header));
request.Headers.Add("Authorization", "Basic " + base64Header);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
resultStr = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return resultStr;
}
catch (WebException ex)
{
var errorSr = new StreamReader(ex.Response.GetResponseStream());
resultStr = errorSr.ReadToEnd();
}
return resultStr;
}
/// <summary>
/// Http的Post请求【含账号密码】
/// </summary>
/// <param name="Url"></param>
/// <param name="postDataStr"></param>
/// <returns></returns>
public static string GetHttpPostByNamePwd(string Url, string postDataStr)
{
string resultStr = string.Empty;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/json;charset=utf-8";
//账户
string name = "";
//密码
string pwd = "";
string bh = "Authorization:Basic";
string header = name + ":" + pwd;
//UTF8标准转码加密
string base64Header = Convert.ToBase64String(Encoding.UTF8.GetBytes(header));
request.Headers.Add("Authorization", "Basic " + base64Header);
byte[] data = Encoding.GetEncoding("utf-8").GetBytes(postDataStr);
request.ContentLength = data.Length;
Stream myRequestStream = request.GetRequestStream();
myRequestStream.Write(data, 0, data.Length);
myRequestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
resultStr = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
}
catch (WebException ex)
{
var errorSr = new StreamReader(ex.Response.GetResponseStream());
resultStr = errorSr.ReadToEnd();
}
return resultStr;
}
#endregion 含账号密码的Http请求封装
#region 不含账号密码普通http请求
/// <summary>
/// Http的Post请求
/// </summary>
/// <param name="Url"></param>
/// <param name="postDataStr"></param>
/// <returns></returns>
public static string GetHttpPost(string Url, string postDataStr, string contentType = null)
{
string resultStr = string.Empty;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
if (string.IsNullOrWhiteSpace(contentType))
{
request.ContentType = "application/x-www-form-urlencoded";
}
else
{
request.ContentType = contentType;
}
byte[] data = Encoding.GetEncoding("utf-8").GetBytes(postDataStr);
request.ContentLength = data.Length;
Stream myRequestStream = request.GetRequestStream();
myRequestStream.Write(data, 0, data.Length);
myRequestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));//
resultStr = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
}
catch (WebException ex)
{
var errorSr = new StreamReader(ex.Response.GetResponseStream());
resultStr = errorSr.ReadToEnd();
}
return resultStr;
}
/// <summary>
/// Http的Get请求
/// </summary>
/// <param name="url"></param>
/// <param name="postData"></param>
/// <returns></returns>
public static string GetHttpGet(string url, string postData)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + (postData == "" ? "" : "?") + postData);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
#endregion