using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace NXWMS.Code.Net
{
///
/// Http请求帮助类
///
public class HttpRequestHelper
{
///
/// 票据
///
public string _Ticket { get; set;}
///
/// Get请求返回响应
///
///
///
///
public string GET(string url, string parms)
{
url = url + parms;
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
HttpWebResponse res;
try
{
res = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
res = (HttpWebResponse)ex.Response;
}
StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
string content = sr.ReadToEnd();
return content;
}
///
/// Post请求返回响应
///
///
///
///
///
public string POST(string url, string pramstr = null,
Dictionary param = null)
{
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
CookieContainer cookieContainer = new CookieContainer();
request.CookieContainer = cookieContainer;
request.AllowAutoRedirect = true;
request.MaximumResponseHeadersLength = 1024;
request.Method = "POST"; //请求方式为post
request.AllowAutoRedirect = true;
request.MaximumResponseHeadersLength = 1024;
request.ContentType = "application/json";
if (!string.IsNullOrWhiteSpace(_Ticket))
{
request.Headers.Add("Authorization", "Bearer " + _Ticket);
}
JObject json = new JObject();
string jsonstring = string.Empty;
if (param != null)
{
if (param.Count != 0)
{
foreach (var item in param)
{
json.Add(item.Key, item.Value);
}
}
jsonstring = json.ToString();
}
else if (!string.IsNullOrWhiteSpace(pramstr))
{
jsonstring = pramstr;
}
else
{
jsonstring = "";
}
byte[] jsonbyte = Encoding.UTF8.GetBytes(jsonstring);
Stream postStream = request.GetRequestStream();
postStream.Write(jsonbyte, 0, jsonbyte.Length);
postStream.Close();
HttpWebResponse res;
try
{
res = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
res = (HttpWebResponse)ex.Response;
}
StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
string content = sr.ReadToEnd();
return content;
}
///
/// Post数据流
///
///
///
///
///
public string POSTStream(string url, byte[] arrAy, string parms)
{
HttpWebResponse res;
try
{
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
byte[] arrB = arrAy;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = arrB.Length;
Stream outStream = request.GetRequestStream();
outStream.Write(arrB, 0, arrB.Length);
outStream.Close();
res = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
res = (HttpWebResponse)ex.Response;
}
StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
string content = sr.ReadToEnd();
return content;
}
}
}