开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 7842|回复: 7
收起左侧

[C#源码] c#怎么调用api接口

[复制链接]
发表于 2018-7-4 08:35:51 | 显示全部楼层 |阅读模式   广东省广州市
c#调用能耗系统API接口 获取获取设备信息

以下是设备商提供的
服务器 IP:121.40.202.** 端口25083

获取设备信息
POST /elec/pc/search/devices         [done]

request
{
     "auth_id": "",   
     "offset": Number,
     "page_size": Number,
     "order": "asc" or "desc",
     "with_group_percentage": 0 | 1  //v4,默认为0,不需要获取设备相对应的%占比值
                                    //v4,取值1为需要获取设备相对应的%占比值
}

response
{
     "result": "ok",
     "total_count": Number,
     "no_parent_count": Number, // added in v2
     "items": [
         {
         "id": Number,
         "id_str": String, // for js, added
         "device_id": "",
         "parent_id": Number,
         "parent_id_str": String // for js, added
         "concentrator_id": Number,
         "concentrator_id_str": String // for js, added
         "description": "某某楼某某层",
         "amount": Number //电量值
        "warn_level_1": Number  //一级告警电流值
        "warn_level_2": Number  //二级告警电流值
        "auto_drop": 0 | 1 //是否自动断开  0为否
        "auto_drop_delay": Number // xx秒后断开
        "group_percentage": float, 0 - 1//v4 该电表被不同部门占用的百分比累加和
        }
     ]
}
结帖率:86% (43/50)
发表于 2018-9-16 10:33:23 | 显示全部楼层   河南省南阳市
来 看看...........
回复 支持 反对

使用道具 举报

发表于 2018-8-26 00:56:27 | 显示全部楼层   吉林省长春市
这是json吧,试试反序列化
回复 支持 反对

使用道具 举报

发表于 2018-7-25 09:47:49 | 显示全部楼层   河南省郑州市
找个别人写好的httpClient封装类,或者直接用webclient访问,不知道怎么用就百度,谷歌
回复 支持 反对

使用道具 举报

发表于 2018-7-20 14:29:09 | 显示全部楼层   广东省珠海市
没理解清楚
回复 支持 反对

使用道具 举报

发表于 2018-7-14 05:20:59 | 显示全部楼层   山东省济南市
网上很多封装好的http请求dll 直接用就可以了
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2018-7-5 09:35:22 | 显示全部楼层   广东省广州市
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Net.Http;
  4. using System.Net.Http.Headers;
  5. using System.Text;
  6. using System.Threading.Tasks;

  7. namespace test
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             var requestBody = new Dictionary<string, string>
  14.             {
  15.                 ["auth_id"] = "",
  16.                 ["offset"] = "0",
  17.                 ["page_size"] = "20",
  18.                 ["order"] = "asc",
  19.                 ["with_group_percentage"] = "0"
  20.             };

  21.             var responseBody = Task.Run(async () =>
  22.             {
  23.                 await HttpPostAsync("121.40.202.**:25083", "/elec/pc/search/devices", Encoding.UTF8, requestBody);
  24.             });

  25.             Console.WriteLine(responseBody);

  26.             Console.ReadKey();
  27.         }

  28.         static public async Task<string> HttpPostAsync(string uri, string url, Encoding charset, Dictionary<string, string> formData = null, string mediaType = "application/x-www-form-urlencoded")
  29.         {
  30.             string tokenUri = url;
  31.             var client = new HttpClient();
  32.             client.BaseAddress = new Uri(uri);

  33.             HttpContent content = new FormUrlEncodedContent(formData);
  34.             content.Headers.ContentType = new MediaTypeHeaderValue(mediaType);
  35.             content.Headers.ContentType.CharSet = nameof(charset);

  36.             HttpResponseMessage resp = await client.PostAsync(tokenUri, content);
  37.             resp.EnsureSuccessStatusCode();
  38.             string token = await resp.Content.ReadAsStringAsync();
  39.             return token;
  40.         }
  41.     }
  42. }
复制代码
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2018-7-4 09:47:04 | 显示全部楼层   重庆市重庆市
用webclient 访问链接就行了啊 还怎么调?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表