如何远程改服务器的时间限制,没有服务器利用git实现自己的程序远程更新、使用时间、公告等...

[C#] 纯文本查看 复制代码using System;

using System.IO;

using System.Net;

using System.Text;

namespace Git_Test

{

class Program

{

static void Main(string[] args)

{

try

{

//利用md文件

//例如我的md文件内容:VersionUpdata版本更新,TimeLimit2021-10-12 12:12:13,Notice公告,OtherMessages其它消息

//这里以时间限制为例

//正式使用的时候用加密传输字符,这里只是提供一个思路

string url = "https://keyestore.gitee.io/VerifyTest.md";

string data = GetInfo(url);

Console.WriteLine(data);

Console.WriteLine("\r\n");

//信息使用 , 逗号分隔

string[] dataArr = data.Split(',');

for (int i = 0; i < dataArr.Length; i++)

{

string tempData = null;

//版本更新

if (dataArr[i].Contains("VersionUpdata"))

{

//替换掉VersionUpdata,只留版本更新

tempData = dataArr[i].Replace("VersionUpdata", "");

Console.WriteLine(tempData);

Console.WriteLine("\r\n");

}

//使用时间限制

if (dataArr[i].Contains("TimeLimit"))

{

//替换掉TimeLimit,只留2021-10-12 12:12:13

tempData = dataArr[i].Replace("TimeLimit", "");

Console.WriteLine(tempData);

//这里用网络时间限制程序的运行

string getSysTime = "http://quan.suning.com/getSysTime.do";

//这里返回的是json格式,为了方便,下面直接截取想要的字符串

string timeLimit = GetInfo(getSysTime);

Console.WriteLine(timeLimit);

//提取服务器时间和md里自己的时间,计算时间差,从而限制程序的运行

//截取的字符就是当前时间,格式:2020-05-13 23:23:23

DateTime curTime = Convert.ToDateTime(timeLimit.Split(',')[0].Split('"')[3]);

DateTime setTime = Convert.ToDateTime(tempData);

TimeSpan curTS = new TimeSpan(curTime.Ticks);

TimeSpan setTS = new TimeSpan(setTime.Ticks);

int tsSubDay = setTS.Subtract(curTS).Days;

if (setTS.Subtract(curTS).TotalSeconds > 0)

{

Console.WriteLine("程序还能使用" + tsSubDay + "天");

}

else

{

Console.WriteLine("时间到期,程序停止使用");

Environment.Exit(0); //程序直接退出

}

Console.WriteLine("\r\n");

}

//公告信息

if (dataArr[i].Contains("Notice"))

{ //替换掉Notice,只留公告

tempData = dataArr[i].Replace("Notice", "");

Console.WriteLine(tempData);

Console.WriteLine("\r\n");

}

//其它信息

if (dataArr[i].Contains("OtherMessages"))

{

//替换掉OtherMessages,只留其它消息

tempData = dataArr[i].Replace("OtherMessages", "");

Console.WriteLine(tempData);

Console.WriteLine("\r\n");

}

}

}catch(Exception ex)

{

Console.WriteLine(ex.Message);

Environment.Exit(0); //程序异常,直接退出

}

Console.ReadKey();

}

static string GetInfo(string url)

{

try

{

WebClient webClient = new WebClient();

Stream stream = webClient.OpenRead(url);

MemoryStream ms = new MemoryStream();

byte[] bArr = new byte[1024];

int num = 0;

while ((num = stream.Read(bArr, 0, bArr.Length)) > 0)

{

ms.Write(bArr, 0, num);

}

return Encoding.UTF8.GetString(ms.ToArray());

}catch(Exception ex)

{

Console.WriteLine(ex.Message);

Environment.Exit(0); //获取失败,直接退出程序,无条件的

return null;

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值