整合实例ASP实例篇

最后更新时间:2019年01月10日23:02:44

前面我们讲过了易运维系统与PHP系统实现API对接的实例。今天我们来讲一下易运维与ASP系统对接实例。


第一步:

首先在您的ASP系统的根目录下建立一个 global.asa 文件,用来设置授权码的全局变量,以便全局调用,打开该文件,输入以下代码。


<script language="vbscript" runat="server">
Sub Application_onStart
Application("sys_key") = "SN201809250924158"  '定义一个sys_key的全局变量,用来填写用户下单后获得的授权码
End Sub
</script>


为什么要将该文件后缀设为.asa,是因为您可以需要对您的源码进行加密编译,但是这个页面需要开放出来,让用户填写授权码。所以,我们把它设为.asa后缀,加密时可选择不加密asa文件。


第二步:

请求API接口,远程读取易运维系统中的授权信息,并进行相关逻辑处理。

该代码您可以放在需要授权验证的页面,如果您想全站授权,可以做一个公共页来放该代码,然后全站引用。



<script language="JScript" runat="Server">
function toObject(json) {
    eval("var o=" + json);
    return o;
}
</script>

<% 
'定义一个sys_key变量,值为第一步设置的全局变量。'
'前面为什么我们要做一个global.asa来放全局变量的目的,就是让全局变量的值在任何一个页面都能读到。'
 
dim sys_key
sys_key=Application("sys_key")
 
 
'读取易运维API接口,这里的请求API接口地址我们以官网演示为例,实际运用请换成您自己的易运维访问网址'
GETURL = "http://demo.ew80yun.com/index.php/Api/Auth/index.html?authid="&sys_key 
Set GetConnection = CreateObject("Microsoft.XMLHTTP") 
GetConnection.Open "get", GETURL, False 
GetConnection.Send 
Auth = GetConnection.responseText
  
Dim json,dqsj
json = ""&Auth&""
'根据文件长度判断是否有JSON数据返回'
if len(json)<30 then
Response.Write "<span style='color:red;'> 请求远程API接口失败或授权码错误 </span>"
Response.end
end if
 
 
'将远程API请求过来的数据,转换成JSON数组'
Set json = toObject(json)


 
'判断授权域名是否正确'
youurl = Request.ServerVariables("HTTP_HOST")'获得当前域名
 'API请求到的域名与当前域名不一致,则提示授权域名错误。
if json.url <> youurl then
Response.Write " <span style='color:red;'>授权错误,域名不匹配!</span>"
Response.end
end if
 
 
'判断授权是否到期'
dqsj =json.edate-json.mytime
if dqsj<0 then
Response.Write " <span style='color:red;'>您的授权已到期,请及时续费,以免影响您的使用!</span>"
Response.end
end if
 
Set json = Nothing
 
 
%>



我们只做了授权域名和到期时间的逻辑判断,具体您可以根据API请求返回过来的数据和自己的需求做出更多授权判断。 API请求返回过来的数据参数,我们在前面已经讲过,不记得的朋友可以点这里》》》


第三步:

加密编译发布你的系统。 用户在易运维上下单购买后,将获得的授权码填写到第一步的文件中就可以了。系统会自动远程授权检测。