using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Net;
|
using System.Text;
|
|
namespace HH.WCS.JingyuNongfu.util
|
{
|
public class HttpHelper
|
{
|
//public string WebPost(string url, string postData, string cotentType = "application/json") {
|
// Console.WriteLine(url);
|
// WebRequest request = WebRequest.Create(url);
|
// request.Method = "POST";
|
// //string postData = JsonConvert.SerializeObject(data); ;
|
// byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
// request.ContentType = cotentType;
|
// request.ContentLength = byteArray.Length;
|
// request.Timeout = 6000;
|
|
// try {
|
// Stream dataStream = request.GetRequestStream();
|
// dataStream.Write(byteArray, 0, byteArray.Length);
|
// dataStream.Close();
|
// WebResponse response = request.GetResponse();
|
// //Console.WriteLine(((HttpWebResponse)response).StatusDescription);
|
// dataStream = response.GetResponseStream();
|
// StreamReader reader = new StreamReader(dataStream, Encoding.UTF8);
|
// string responseFromServer = reader.ReadToEnd();
|
// reader.Close();
|
// dataStream.Close();
|
// response.Close();
|
// return responseFromServer;
|
// }
|
// catch (Exception e) {
|
// Console.WriteLine(e.Message);
|
// return "";
|
// }
|
//}
|
public string WebPost(string url, string postData, string cotentType = "application/json", string token = "", string timestamp = "", bool Extend = false)
|
{
|
Console.WriteLine(url);
|
WebRequest request = WebRequest.Create(url);
|
request.Method = "POST";
|
//string postData = JsonConvert.SerializeObject(data);
|
|
//接口加密额外增加 Header 字段
|
if (!string.IsNullOrEmpty(token) && (!string.IsNullOrEmpty(timestamp)))
|
{
|
switch (Settings.ProjectName)
|
{
|
case "靖宇":
|
request.Headers.Set("token", token);//MD5加密后Token值
|
request.Headers.Set("from", "MOBOX");//来源系统号
|
request.Headers.Set("timestamp", timestamp);//时间戳
|
if (Extend) request.Headers.Set("proxyInterfaceCode", Settings.OneSign);//MES任务回报接口添加 唯一标识
|
break;
|
case "调试模式":
|
request.Headers.Set("Authorization", "Basic admin:123");//基本身份验证 Authorization 默认传输值:Basic admin:123
|
break;
|
}
|
}
|
|
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
request.ContentType = cotentType;
|
request.ContentLength = byteArray.Length;
|
request.Timeout = 6000;
|
|
try
|
{
|
Stream dataStream = request.GetRequestStream();
|
dataStream.Write(byteArray, 0, byteArray.Length);
|
dataStream.Close();
|
WebResponse response = request.GetResponse();
|
|
//Console.WriteLine(((HttpWebResponse)response).StatusDescription);
|
dataStream = response.GetResponseStream();
|
StreamReader reader = new StreamReader(dataStream, Encoding.UTF8);
|
string responseFromServer = reader.ReadToEnd();
|
reader.Close();
|
dataStream.Close();
|
response.Close();
|
return responseFromServer;
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e.Message);
|
return "";
|
}
|
}
|
|
public string WebPostFl(string url, string postData, string cotentType = "application/json", string token = "", string timestamp = "")
|
{
|
Console.WriteLine(url);
|
WebRequest request = WebRequest.Create(url);
|
request.Method = "POST";
|
//string postData = JsonConvert.SerializeObject(data);
|
|
//接口加密额外增加 Header 字段
|
if (!string.IsNullOrEmpty(token) && (!string.IsNullOrEmpty(timestamp)))
|
{
|
switch (Settings.ProjectName)
|
{
|
case "靖宇":
|
request.Headers.Set("token", token); LogHelper.Info($"token:{token}", "富勒上报"); //MD5加密后Token值
|
request.Headers.Set("from", "MOBOX"); LogHelper.Info($"from:MOBOX", "富勒上报");//来源系统号
|
request.Headers.Set("timestamp", timestamp); LogHelper.Info($"timestamp:{timestamp}", "富勒上报");//时间戳
|
break;
|
case "调试模式":
|
request.Headers.Set("Authorization", "Basic admin:123");//基本身份验证 Authorization 默认传输值:Basic admin:123
|
break;
|
}
|
}
|
|
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
request.ContentType = cotentType;
|
request.ContentLength = byteArray.Length;
|
request.Timeout = 6000;
|
|
try
|
{
|
Stream dataStream = request.GetRequestStream();
|
dataStream.Write(byteArray, 0, byteArray.Length);
|
dataStream.Close();
|
WebResponse response = request.GetResponse();
|
|
//Console.WriteLine(((HttpWebResponse)response).StatusDescription);
|
dataStream = response.GetResponseStream();
|
StreamReader reader = new StreamReader(dataStream, Encoding.UTF8);
|
string responseFromServer = reader.ReadToEnd();
|
reader.Close();
|
dataStream.Close();
|
response.Close();
|
return responseFromServer;
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e.Message);
|
return "";
|
}
|
}
|
public string WebGet(string url) {
|
//using (var client = new HttpClient()) {
|
// //请求结果
|
// string result = client.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
|
|
// Console.WriteLine(result);
|
// return result;
|
|
//}
|
//Console.WriteLine(url);
|
WebRequest request = WebRequest.Create(url);
|
request.Timeout = 6000;
|
request.Method = "GET";
|
|
try {
|
WebResponse response = request.GetResponse();
|
Stream dataStream = response.GetResponseStream();
|
StreamReader reader = new StreamReader(dataStream);
|
string responseFromServer = reader.ReadToEnd();
|
|
reader.Close();
|
dataStream.Close();
|
response.Close();
|
Console.WriteLine(responseFromServer);
|
return responseFromServer;
|
}
|
catch (Exception e) {
|
return "";
|
}
|
}
|
|
public string Get(string url, string contentType = "application/x-www-form-urlencoded") {
|
WebRequest request = WebRequest.Create(url);
|
request.Method = "Get";
|
request.ContentType = contentType;
|
StreamReader reader = null;
|
Stream stream = null;
|
WebResponse rsp = null;
|
try {
|
|
rsp = request.GetResponse();
|
stream = rsp.GetResponseStream();
|
reader = new StreamReader(stream);
|
return reader.ReadToEnd();
|
}
|
catch {
|
return "";
|
}
|
finally {
|
// 释放资源
|
if (reader != null) reader.Close();
|
if (stream != null) stream.Close();
|
if (rsp != null) rsp.Close();
|
}
|
|
}
|
|
public string Post(string url, string postData, string contentType = "application/json", string sessionId = "") {
|
WebRequest request = WebRequest.Create(url);
|
request.Method = "POST";
|
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
request.ContentType = contentType;
|
request.ContentLength = byteArray.Length;
|
if (sessionId != "") {
|
request.Headers.Set("ASP.NET_SessionId", sessionId);
|
}
|
StreamReader reader = null;
|
Stream stream = null;
|
WebResponse rsp = null;
|
try {
|
stream = request.GetRequestStream();
|
stream.Write(byteArray, 0, byteArray.Length);
|
stream.Close();
|
rsp = request.GetResponse();
|
stream = rsp.GetResponseStream();
|
reader = new StreamReader(stream);
|
return reader.ReadToEnd();
|
}
|
catch {
|
return "";
|
}
|
finally {
|
// 释放资源
|
if (reader != null) reader.Close();
|
if (stream != null) stream.Close();
|
if (rsp != null) rsp.Close();
|
}
|
|
}
|
|
|
public string Post(string url, Dictionary<string, string> dic) {
|
var param = dic.Select(a => { return string.Format("{0}={1}", a.Key, a.Value); }).ToList();
|
return Post(url, string.Join("&", param), "application/x-www-form-urlencoded");
|
|
}
|
|
public string PostWithCookie(string url, string sessinId) {
|
return PostWithCookie(url, "", "", sessinId);
|
}
|
public string PostWithCookie(string url, string postData, string contentType = "application/json", string sessionId = "") {
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
request.Method = "POST";
|
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
request.ContentType = contentType;
|
request.ContentLength = byteArray.Length;
|
if (sessionId != "") {
|
request.CookieContainer = new CookieContainer();
|
request.CookieContainer.SetCookies(new Uri("http://" + request.RequestUri.Authority), "ASP.NET_SessionId=" + sessionId);
|
}
|
StreamReader reader = null;
|
Stream stream = null;
|
WebResponse rsp = null;
|
try {
|
stream = request.GetRequestStream();
|
stream.Write(byteArray, 0, byteArray.Length);
|
stream.Close();
|
rsp = request.GetResponse();
|
stream = rsp.GetResponseStream();
|
reader = new StreamReader(stream);
|
return reader.ReadToEnd();
|
}
|
catch {
|
return "";
|
}
|
finally {
|
// 释放资源
|
if (reader != null) reader.Close();
|
if (stream != null) stream.Close();
|
if (rsp != null) rsp.Close();
|
}
|
|
}
|
|
|
}
|
}
|