using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace WpfApp1
{
public class Common
{
/// <summary>
/// http post请求
/// </summary>
/// <param name="Url">请求地址</param>
/// <param name="postDataStr">请求数据</param>
/// <param name="isAuthorization">是否安全验证</param>
/// <returns></returns>
public static string[] HttpPost(string Url, byte[] postData, string ContentType,string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
request.ContentLength = 0;
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
if (postData != null)
{
byte[] payload = postData;
request.ContentLength = payload.Length;
Stream writer = request.GetRequestStream();
writer.Write(payload, 0, payload.Length);
writer.Flush();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "1", retString };
}
catch (WebException e)
{
HttpWebResponse response = (HttpWebResponse)e.Response;
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
if (response.StatusCode == HttpStatusCode.NotFound)
{ }
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "400", retString };
}
}
/// <summary>
/// http post请求
/// </summary>
/// <param name="Url">请求地址</param>
/// <param name="postDataStr">请求数据</param>
/// <param name="isAuthorization">是否安全验证</param>
/// <returns></returns>
public static string Post(string Url, string postDataStr, string ContentType, string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
request.ContentLength = 0;
if (!string.IsNullOrEmpty(postDataStr))
{
byte[] payload = System.Text.Encoding.UTF8.GetBytes(postDataStr);
request.ContentLength = payload.Length;
Stream writer = request.GetRequestStream();
writer.Write(payload, 0, payload.Length);
writer.Flush();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return retString;
}
catch (WebException e)
{
return string.Empty;
}
}
/// <summary>
/// http post请求
/// </summary>
/// <param name="Url">请求地址</param>
/// <param name="postDataStr">请求数据</param>
/// <param name="isAuthorization">是否安全验证</param>
/// <returns></returns>
public static string Post(string Url, byte[] postData, string ContentType, string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
request.ContentLength = 0;
if (postData != null)
{
byte[] payload = postData;
request.ContentLength = payload.Length;
Stream writer = request.GetRequestStream();
writer.Write(payload, 0, payload.Length);
writer.Flush();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return retString;
}
catch (WebException e)
{
return string.Empty;
}
}
#region put
/// <summary>
/// http put请求
/// </summary>
/// <param name="Url">请求地址</param>
/// <param name="postDataStr">请求数据</param>
/// <param name="isAuthorization">是否安全验证</param>
/// <returns></returns>
public static string[] HttpPut(string Url, string postDataStr, string ContentType, string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "PUT";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
if (!string.IsNullOrEmpty(postDataStr))
{
byte[] payload = System.Text.Encoding.UTF8.GetBytes(postDataStr);
request.ContentLength = payload.Length;
Stream writer = request.GetRequestStream();
writer.Write(payload, 0, payload.Length);
writer.Flush();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "1", retString };
}
catch (WebException e)
{
HttpWebResponse response = (HttpWebResponse)e.Response;
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
if (response.StatusCode == HttpStatusCode.NotFound)
{ }
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "400", retString };
}
}
/// <summary>
/// http put请求
/// </summary>
/// <param name="Url">请求地址</param>
/// <param name="postDataStr">请求数据</param>
/// <param name="isAuthorization">是否安全验证</param>
/// <returns></returns>
public static string Put(string Url, string postDataStr, string ContentType, string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "PUT";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
if (!string.IsNullOrEmpty(postDataStr))
{
byte[] payload = System.Text.Encoding.UTF8.GetBytes(postDataStr);
request.ContentLength = payload.Length;
Stream writer = request.GetRequestStream();
writer.Write(payload, 0, payload.Length);
writer.Flush();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return retString;
}
catch (WebException e)
{
return string.Empty;
}
}
#endregion
#region get
/// <summary>
/// GET请求与获取结果
/// </summary>
public static string[] HttpGet(string Url, string postDataStr, string ContentType,string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
request.Method = "GET";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return new string[] { "1", retString };
}
catch (WebException e)
{
HttpWebResponse response = (HttpWebResponse)e.Response;
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
if (response.StatusCode == HttpStatusCode.NotFound)
{ }
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "400", retString };
}
}
/// <summary>
/// GET请求与获取结果
/// </summary>
public static string Get(string Url, string ContentType,string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "GET";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
catch (WebException e)
{
return string.Empty;
}
}
/// <summary>
/// 获取get的data
/// </summary>
/// <param name="Url"></param>
/// <param name="ContentType"></param>
/// <returns></returns>
public static string RetGet(string Url, string ContentType, string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "GET";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
if (retString != "")
{
CommonRetModel<string> ret = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonRetModel<string>>(retString);
if (ret.result != -1 && ret.data != "")
{
return ret.data;
}
else
{
return string.Empty;
}
}
else
{
return string.Empty;
}
}
catch (WebException e)
{
return string.Empty;
}
}
#endregion
#region delete
/// <summary>
/// delete请求与获取结果
/// </summary>
public static string[] HttpDelete(string Url, string postDataStr, string ContentType, string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
request.Method = "DELETE";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return new string[] { "1", retString };
}
catch (WebException e)
{
HttpWebResponse response = (HttpWebResponse)e.Response;
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
if (response.StatusCode == HttpStatusCode.NotFound)
{ }
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "400", retString };
}
}
/// <summary>
/// delete请求与获取结果
/// </summary>
public static string Delete(string Url, string ContentType ,string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "DELETE";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
}
else
{
request.ContentType = ContentType;
}
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
catch (WebException e)
{
return string.Empty;
}
}
/// <summary>
/// http post请求
/// </summary>
/// <param name="Url">请求地址</param>
/// <param name="postDataStr">请求数据</param>
/// <param name="isAuthorization">是否安全验证</param>
/// <returns></returns>
public static string[] HttpPost(string Url, string postDataStr, string ContentType, string token)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
if (string.IsNullOrEmpty(ContentType))
{
request.ContentType = "application/json;charset=utf-8";
}
else
{
request.ContentType = ContentType;
}
request.ContentLength = 0;
if (!string.IsNullOrEmpty(token))
{
request.Headers.Add("Authorization", "DpToken " + token);
}
if (!string.IsNullOrEmpty(postDataStr))
{
byte[] payload = System.Text.Encoding.UTF8.GetBytes(postDataStr);
request.ContentLength = payload.Length;
Stream writer = request.GetRequestStream();
//写入流
writer.Write(payload, 0, payload.Length);
writer.Flush();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "1", retString };
}
catch (WebException e)
{
HttpWebResponse response = (HttpWebResponse)e.Response;
string encoding = response.ContentEncoding;
if (encoding == null || encoding.Length < 1)
{
encoding = "UTF-8"; //默认编码
}
if (response.StatusCode == HttpStatusCode.NotFound)
{ }
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
string retString = reader.ReadToEnd();
return new string[] { "400", retString };
}
}
}
#endregion
}