初次提交
This commit is contained in:
175
C-Windows-1/MESInfo.cs
Normal file
175
C-Windows-1/MESInfo.cs
Normal file
@@ -0,0 +1,175 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace C_Windows_1
|
||||
{
|
||||
public class MESInfo
|
||||
{
|
||||
|
||||
//上传至mes系统
|
||||
public static string MESInformation(string url, string appId, string appKey, string method, string dept, string type, string model,
|
||||
string station, string timestamp, string sn, string result, string inflationpressuremax, string inflationpressuremin, string inflationpressure,
|
||||
string balancepressuremax, string balancepressuremin, string balancepressure, string leakmax, string leakmin, string leakage)
|
||||
{
|
||||
try
|
||||
{
|
||||
Dictionary<String, Object> map = new Dictionary<string, object>();
|
||||
|
||||
map["dept"] = dept;
|
||||
map["type"] = type;
|
||||
map["model"] = model;
|
||||
map["station"] = station;
|
||||
map["timestamp"] = timestamp;
|
||||
map["sn"] = sn;
|
||||
map["result"] = result;
|
||||
map["inflationPressureMax"] = inflationpressuremax;
|
||||
map["inflationPressureMin"] = inflationpressuremin;
|
||||
map["inflationPressure"] = inflationpressure;
|
||||
map["balancePressureMax"] = balancepressuremax;
|
||||
map["balancePressureMin"] = balancepressuremin;
|
||||
map["balancePressure"] = balancepressure;
|
||||
map["leakMax"] = leakmax;
|
||||
map["leakMin"] = leakmin;
|
||||
map["leakage"] = leakage;
|
||||
String body = JsonConvert.SerializeObject(map);
|
||||
//Form1.f1.textBox1.Text = body;
|
||||
String signStr = appId + body + appKey; // 拼接加密字符串
|
||||
String sign = GenerateMD5(signStr).ToUpper();
|
||||
|
||||
Dictionary<String, Object> header = new Dictionary<string, object>();
|
||||
header["appid"] = appId;
|
||||
header["sign"] = sign;
|
||||
header["method"] = method;
|
||||
Dictionary<String, Object> data = new Dictionary<string, object>();
|
||||
data["header"] = header;
|
||||
data["body"] = body;//放入dictionary中
|
||||
|
||||
//Form1.f1.textBox3.Text = JsonConvert.SerializeObject(data);//data又被转了一次Jason
|
||||
|
||||
//string dataMap= JsonConvert.SerializeObject(data)
|
||||
//String base64 = Base64.encodeBase64String(Utils.toJsonString(data).getBytes());
|
||||
byte[] bytedata = System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(data));
|
||||
string base64 = Convert.ToBase64String(bytedata);//
|
||||
|
||||
Dictionary<String, Object> dataMap = new Dictionary<string, object>();
|
||||
dataMap["data"] = base64;
|
||||
// Form1.f1.textBox1.Text = base64;
|
||||
|
||||
|
||||
//日志
|
||||
Log log = new Log();
|
||||
string datetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
log.Logmsg(datetime + " MESSend: " + JsonConvert.SerializeObject(data));
|
||||
|
||||
//发送数据
|
||||
string url2 = url + "?" + "data=" + base64;
|
||||
string ss = HttpPost(url2, "");
|
||||
|
||||
//string ss = HttpGet("http://xms.be.test.xiao.com/xmsapi");
|
||||
//日志
|
||||
string datetime2 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
log.Logmsg(datetime + " MESReceive: " + ss + "\n");
|
||||
|
||||
return ss;
|
||||
//return "";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.Message;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//MD5加密sign参数
|
||||
public static string GenerateMD5(string txt)
|
||||
{
|
||||
using (MD5 mi = MD5.Create())
|
||||
{
|
||||
byte[] buffer = Encoding.Default.GetBytes(txt);
|
||||
//开始加密
|
||||
byte[] newBuffer = mi.ComputeHash(buffer);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < newBuffer.Length; i++)
|
||||
{
|
||||
sb.Append(newBuffer[i].ToString("x2"));//二位十六进制,x就是转成十六进制
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//调用API
|
||||
public static string HttpPost(string url, string body)
|
||||
{
|
||||
|
||||
Encoding encoding = Encoding.UTF8;
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
request.Method = "POST";
|
||||
request.Accept = "text/html, application/xhtml+xml, */*";
|
||||
request.ContentType = "application/json";
|
||||
|
||||
byte[] buffer = encoding.GetBytes(body);
|
||||
request.ContentLength = buffer.Length;
|
||||
request.GetRequestStream().Write(buffer, 0, buffer.Length);
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
|
||||
{
|
||||
return reader.ReadToEnd();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//static CookieContainer cookie = new CookieContainer();
|
||||
|
||||
////调用API
|
||||
//public static string HttpPost2(string Url, Dictionary<String, Object> postDataStr)
|
||||
//{
|
||||
|
||||
// //Encoding encoding = Encoding.UTF8;
|
||||
// HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
|
||||
// request.Method = "POST";
|
||||
// request.Accept = "text/html, application/xhtml+xml, */*";
|
||||
// request.ContentType = "application/x-www-form-urlencoded";
|
||||
// request.CookieContainer = cookie;
|
||||
// Stream myRequestStream = request.GetRequestStream();
|
||||
// StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
|
||||
// myStreamWriter.Write(postDataStr);
|
||||
// myStreamWriter.Close();
|
||||
|
||||
// HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
// response.Cookies = cookie.GetCookies(response.ResponseUri);
|
||||
// Stream myResponseStream = response.GetResponseStream();
|
||||
// StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
|
||||
// string retString = myStreamReader.ReadToEnd();
|
||||
// myStreamReader.Close();
|
||||
// myResponseStream.Close();
|
||||
// return retString;
|
||||
|
||||
//}
|
||||
|
||||
//public static string HttpGet(string url)
|
||||
//{
|
||||
// //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
|
||||
// Encoding encoding = Encoding.UTF8;
|
||||
// HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
// request.Method = "GET";
|
||||
// request.Accept = "text/html, application/xhtml+xml, */*";
|
||||
// request.ContentType = "application/json";
|
||||
|
||||
// HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
// using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
|
||||
// {
|
||||
// return reader.ReadToEnd();
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user