三方整合接口配置的时候,最轻易出现问题就是各个程序的配置文件的修改了,很多网友都是在这上面出错。比如下面这几句:
Const API_Urls = "博客@@http://Localhost/oblog4/api/API_Response.asp"
Const DvApi_Urls = http://localhost/cms/API/API_Response.asp
Const strTargetUrls = "http://localhost/cms/API/API_Response.asp"
整合因为使用了xmlhttp,使得使用相对路径而不使用完整URL不可行了。但是这样一来,也限制了整合的域名。
随着双线空间、镜像站点的越来越广泛,原来的整合配置已经不能再满足需要。有网友提出这个问题,我当时给了一个方案,就是动态获取用户访问的域名,然后用到整合配置中去。当时没有做测试,也没有深入。
今天在动易起航教师里,又碰到网友提出这个问题。我也正好想测试和解决一下这个问题,就在本机进行了简单的测试。结果整合成功。下面讲解一下:
首先,原理就是把原来的配置文件中的接口路径定义由常量定义改为变量,这样支持在变量赋值中使用另外的变量。然后,我们新建一个变量用来存储ServerVariables里读取的Server_Name变量。再把这个变量赋值到接口路径定义中去。也就是下面用红色标记出来的部分:
Const API_Urls = "博客@@http://www.domain.com/oblog4/api/API_Response.asp"
Const DvApi_Urls = "http://www.domain.com/cms/API/API_Response.asp"
Const strTargetUrls = "http://www.domain.com/cms/API/API_Response.asp"
这部分就是要动态获取的部分。
以动易的为例,原来是:
Const API_Urls = ........
改成:
Dim API_Urls
API_Urls = ........
我们首先定义一个存储用户访问的域名的变量:
Dim strSiteRoot
然后从ServerVariables集合众获取该变量:
strSiteRoot = Request.ServerVariables("SERVER_NAME")
最后把变量用到接口路径定义中去:
Dim API_Urls
API_Urls = "论坛@@http://" & strSiteRoot & "/bbs/dv_dpo.asp"
其它两个程序的接口配置,也按同样原理做即可。下面是修改好的三方整合配置文件供参考:
点击下载此文件
新闻热点
疑难解答
图片精选