CHAPOS
1.am10p通过sn发送给http数据库,得到唯一的mac地址,用于管理 2.上位机从http数据库拿数据,设置数据 3.C# 发送http网络请求
由于c#比较成,所以强烈建议使用gpt来查找资料
C# 发送http网络请求_c#发送http请求_十月微涼的博客-CSDN博客
使用C#发送HTTP的Get和Post请求_c# 发送get请求-CSDN博客使用C#发送HTTP的Get和Post请求_c# 发送get请求-CSDN博客使用C#发送HTTP的Get和Post请求_c# 发送get请求-CSDN博客使用C#发送HTTP的Get和Post请求_c# 发送get请求-CSDN博客使用C#发送HTTP的Get和Post请求_c# 发送get请求-CSDN博客 //注意POST请求的格式,是json还是其他
可以调用接口函数来做,注意如果缺少头文件的话需要通过添加库来实现
vs studio中c#开发使用_文武先生hh的博客-CSDN博客
GET
using Newtonsoft.Json;
using System.Net;
using System.Text.Json;
public static string GetHttpResponse(string url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
request.UserAgent = null;
// request.Timeout = Timeout;
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;
}
POST
使用C#发送HTTP的Get和Post请求_c# 发送get请求-CSDN博客
post接口函数
public string Post(string data, string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = string.Format("{0}/{1}", "https://api.hamedal.com", uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);
//把用户传过来的数据转成“UTF-8”的字节流
byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(data);
myRequest.Method = "POST";
myRequest.ContentLength = buf.Length;
myRequest.ContentType = "application/json";
myRequest.MaximumAutomaticRedirections = 1;
myRequest.AllowAutoRedirect = true;
//发送请求
Stream stream = myRequest.GetRequestStream();
stream.Write(buf, 0, buf.Length);
stream.Close();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
//string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有编码问题就用这个方法
string returnXml = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
reader.Close();
myResponse.Close();
return returnXml;
}
POST调用和查看返回值,其中使用到了json的解析
string json = JsonConvert.SerializeObject(requestString);
var resultBack = Post(json, "resource/sn/setState");
BurnSerialNumberResponse jsonBack = JsonConvert.DeserializeObject<BurnSerialNumberResponse>(resultB
Console.WriteLine(jsonBack.code);
Console.WriteLine(jsonBack.msg);
if (jsonBack.msg == "success")
{
myWrite.WriteLine(string.Format("ID = [{0}] serialNumber = [{3}] uuid = [{1}{2}]", this.uniqueI
Console.WriteLine(string.Format("ID = [{0}] serialNumber = [{3}] uuid = [{1}{2}]", this.uniqueI
myWrite.Flush();
this.state = E_INFOBURN_STATE.INFOBURN_STATE_INIT;
}
else
{
myWrite.WriteLine(string.Format("SN码上传失败 [{0}]", serialNumberStr));
Console.WriteLine(string.Format("SN码上传失败 [{0}]", serialNumberStr));
myWrite.Flush();
this.state = E_INFOBURN_STATE.INFOBURN_STATE_INIT;
}
POST函数,及其返回值,以及可以问后端的工程师有没有收到数据来对自己是不是发送成功,并且在发送之前一定要对好post的数据
3.在am10p产品读取mac地址的时候要注意是16进制还是字符串,转化函数可以问gpt