【新提醒】API接口使用教程 - 第三方应用 - 宝塔面板论坛 https://www.bt.cn/bbs/thread-20376-1-1.html
看了下竟然没有C#的接口?好吧,我们来贡献一个
1、首先开启接口API功能,然后设置密匙,设置ip白名单,如果自己的ip不清楚,可以百度一下
2、C#例子,SDK下载如下
返回结果如下:json如下
{"memTotal": 1837, "memFree": 107, "memBuffers": 2, "memCached": 1019, "memRealUsed": 709, "cpuNum": 1, "cpuRealUsed": 1.0, "time": "41天", "system": "CentOS 7.8.2003 x86_64(Py3.7.9)", "isuser": 0, "isport": true, "version": "7.8.0"}
"time": "41天"和首页显示的“已不间断运行41天”匹配,Centos版本也获取到了的。 之前一直请求不成功,加上ToLower()就好了,更多的C#接口整理中。
3、集成Ftp接口示例: 我们可以通过浏览器获取抓包获取到参数如下
接口地址是http://ip:8888/ftp?action=AddUser
参数是 ftp_username=123&ftp_password=bccZbfAhNe2cxwmx&path=%2Fwww%2Fwwwroot%2F123&ps=123
注意path一定要url编码,自己调试时发现不编码可能会有问题;
通过接口调用成功如下:
完整的C#代码:
1 try 2 { 3 // 签名算法 4 //api_sk = 接口密钥 (在面板设置页面 - API 接口中获取) 5 //request_time = 当前请求时间的 uinx 时间戳 ( php: time() / python: time.time() ) 6 //request_token = md5(string(request_time) + md5(api_sk)) 7 //PHP 示例: $request_token = md5($request_time . ‘’ . md5($api_sk)) 8 //签名: 9 //参数名称 参数值 说明 10 //request_time 当前 uinx 时间戳 [必传] 11 //request_token md5(string(request_time) + md5(api_sk)) [必传] 12 //其它参数 功能接口需要的其它参数 [可选] 13 //注意事项: 14 //1、请统一使用 POST 方式请求 API 接口 15 //2、为了确保请求效率,请保存 cookie,并在每次请求时附上 cookie 16 //3、为了面板安全考虑,请务必添加 IP 白名单 17 //4、所有响应内容统一为 Json 数据格式 18 19 20 // 接口密钥 (在面板设置页面 - API 接口中获取) 21 string api_sk = BaotaHelper._apiKey; 22 //接口地址和方法 23 string url = "http://ip:8888/ftp?action=AddUser"; 24 //Unix时间戳 25 string timestamp = BaotaHelper.GetUnix(DateTime.Now).ToString(); 26 string md5ApiSK = BaotaHelper.GetMd5(api_sk).ToLower(); 27 string request_token = BaotaHelper.GetMd5(timestamp + md5ApiSK).ToLower();//md5(string(request_time) + md5(api_sk)) 28 // ftp_username=123&ftp_password=bccZbfAhNe2cxwmx&path=%2Fwww%2Fwwwroot%2F123&ps=123 29 // string postData = "request_time=" + timestamp + "&request_token=" + request_token + "&ftp_username=" + txtUserName.Text.Trim() + "&ftp_password="+txtPwd.Text.Trim() + "&path=" + txtServerPath.Text.Trim() ;//"&ps=" + "这个是备注"; 30 31 32 //注意path需要url编码, path=/www/wwwroot/123 对应的为 path=%2Fwww%2Fwwwroot%2F123 33 34 string path = System.Web.HttpUtility.UrlEncode(txtServerPath.Text.Trim(), System.Text.Encoding.UTF8); //编码 35 36 37 string postData = "request_time=" + timestamp + "&request_token=" + request_token + "&ftp_username=" + txtUserName.Text.Trim() + "&ftp_password=" + txtPwd.Text.Trim() + "&path=" + path + "&ps=" + txtUserName.Text.Trim(); 38 39 40 string resultJson = HttpUtils.DoPost(url, postData); 41 42 richTextBox1.Text = resultJson; 43 44 } 45 catch (Exception ex) 46 { 47 MessageBox.Show(ex.Message); 48 }
大功告成,完成代码下载百度云。欢迎点赞。
链接:https://pan.baidu.com/s/1lZYSBnUEHONIWBWx1F0F3Q
提取码:b3v3