billrolbin 2023-03-13 09:20 采纳率: 80.8%
浏览 69
已结题

用C#实现http协议的接口接收数据demo程序

我有一个预警消息接收调用的文档,需要实现接口数据调用和返回。请见下面的文档。需要用C#做一个demo程序。

http://101.43.218.219/DouyinTestB/1002.htm

  • 写回答

5条回答 默认 最新

  • 「已注销」 2023-03-13 11:29
    关注

    参考GPT和自己的思路:以下是使用C#实现http协议的接口接收数据的示例程序:

    using System;
    using System.Net;
    using System.IO;
    using System.Text;
    using System.Web.Script.Serialization;
    
    namespace HttpPostExample
    {
        class Program
        {
            static void Main(string[] args)
            {
                string url = "http://112.124.23.63:1888/ai/message";
    
                string jsonString = "{\"rtspUrl\":\"rtsp://192.168.2.77:11100/live\",\"boxId\":\"80\",\"type\":\"11\",\"typeName\":\"禁区闯入\",\"boxName\":\"加油站\",\"deviceName\":\"卸油区\",\"GBID\":\"60082006\",\"deviceId\":\"exghlou346lk\",\"indexCode\":\"2850063219\",\"enterName\":\"xx科技\",\"enterCode\":\"3006259\",\"signBigAvatar\":\"09xgb…xcv12\",\"signAvatar\":\"09xgb…xcv12\",\"signTime\":\"2022-12-05 15:12:03\",\"channelNo\":\"83\",\"x\":\"62\",\"y\":\"500\",\"w\":\"180\",\"h\":\"89\",\"messagerType\":\"\",\"eBike\":\"1\",\"smoke\":\"1\",\"fire\":\"1\",\"isExist\":\"1\",\"ext\":\"1\",\"tanker\":\"2\",\"sudire\":\"2\",\"fireControl\":\"2\",\"cover\":\"2\",\"licensePlateNumber\":\"皖AA82G7\",\"illegalParking\":\"1\",\"age\":\"28\",\"gender\":\"0\",\"glasses\":\"1\",\"mask\":\"1\"}";
    
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/json";
    
                byte[] byteArray = Encoding.UTF8.GetBytes(jsonString);
                request.ContentLength = byteArray.Length;
    
                using (Stream streamWriter = request.GetRequestStream())
                {
                    streamWriter.Write(byteArray, 0, byteArray.Length);
                }
    
                try
                {
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    StreamReader reader = new StreamReader(response.GetResponseStream());
                    string responseString = reader.ReadToEnd();
                    Console.WriteLine(responseString);
                }
                catch (WebException ex)
                {
                    Console.WriteLine("An error occurred: " + ex.Message);
                }
    
                Console.ReadLine();
            }
        }
    }
    
    
    

    用HttpWebRequest对象创建了一个POST请求,设置了Content-Type为"application/json",并将JSON字符串写入请求流中。接下来,我们发送请求并等待响应。最后,我们从响应流中读取响应字符串并将其打印到控制台上。

    值得注意的是,在此示例程序中,我们将JSON字符串硬编码为一个C#字符串。在实际应用中,你需要根据具体情况动态生成JSON字符串,例如使用JSON库(例如Json.NET)或JavaScriptSerializer类来序列化C#对象为JSON字符串。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。