自动识别域名的整合配置文件

  三方整合接口配置的时候,最容易出现问题就是各个程序的配置文件的修改了,很多网友都是在这上面出错。比如下面这几句:

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"

其它两个程序的接口配置,也按同样原理做即可。

下面是修改好的三方整合配置文件供参考:

点击下载此文件

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名小李刀刀(包含链接)。如您有任何疑问或者授权方面的协商,请给我发送邮件

  • Twitter
  • Facebook
  • Google Buzz
  • Blogger Post
  • Digg
  • MSDN
  • MySpace
  • Ping
  • TechNet
  • WordPress
  • Share/Bookmark
2006年12月4日 | 归档于 所谓技术
标签:
  1. 小李刀刀
    2007年8月15日 01:58 | #1

    [quote=开心]小李刀刀你好!想请教你但关于整合的问题,我现在用的是恒浪的系统(HowaveV4.05+创力3.1+DVbbs7.1sp1+Oblog4.02_0104)里面基本都是好好的,可是我原来有个书店的程序我想也整合进去,但是这个没有接口文件,我现在就怎么去写这个接口文件,由于是第一次做这个有点不明白!
    能不麻烦你告诉我怎么写这个接口的文件,或者以一个其他的接口文件做个解释告诉我应该怎么去些,然后我也可以去研究一下!麻烦你了谢谢! [/quote]

    恒浪的系统你是不是应该去找恒浪咨询一下?[f67]

  2. 丑小鬼
    2007年8月12日 20:35 | #2

    拿了东西就走人,谢谢了~~HOHO~~~顶~~~~

  3. 开心
    2007年3月25日 23:22 | #3

    小李刀刀你好!想请教你但关于整合的问题,我现在用的是恒浪的系统(HowaveV4.05+创力3.1+DVbbs7.1sp1+Oblog4.02_0104)里面基本都是好好的,可是我原来有个书店的程序我想也整合进去,但是这个没有接口文件,我现在就怎么去写这个接口文件,由于是第一次做这个有点不明白!
    能不麻烦你告诉我怎么写这个接口的文件,或者以一个其他的接口文件做个解释告诉我应该怎么去些,然后我也可以去研究一下!麻烦你了谢谢!

  4. 小李刀刀
    2007年2月28日 20:32 | #4

    [quote=56mr][ 注意:刚才动网的复制错误,现在更换一下 ]

    'DvApi_Enable 是否打开系统整合(默认闭关: False ,打开:True )
    Const DvApi_Enable = True
    'DvApi_SysKey 设置系统密钥 (系统整合,必须保证与其它系统设置的密钥一致。)
    Const DvApi_SysKey = "56mrw"
    'DvApi_Urls :整合的其它程序的接口文件路径。多个程序接口之间用半角"|"分隔。
    '例如:DvApi_Urls = "http://你的网站地址/动易安装目录/API/API_Response.asp|http://你的网站地址/博客安装目录/API/oblogresponse.asp"
    Const DvApi_Urls = "http://www.56mr.com/API/API_Response.asp|http://www.56mr.com/blog/API/oblogresponse.asp"
    %>[/quote]

    Oblog的接口地址已经改成 /API/API_Response.asp

  5. 56mr
    2007年2月7日 19:58 | #5

    [ 注意:刚才动网的复制错误,现在更换一下 ]

    'DvApi_Enable 是否打开系统整合(默认闭关: False ,打开:True )
    Const DvApi_Enable = True
    'DvApi_SysKey 设置系统密钥 (系统整合,必须保证与其它系统设置的密钥一致。)
    Const DvApi_SysKey = "56mrw"
    'DvApi_Urls :整合的其它程序的接口文件路径。多个程序接口之间用半角"|"分隔。
    '例如:DvApi_Urls = "http://你的网站地址/动易安装目录/API/API_Response.asp|http://你的网站地址/博客安装目录/API/oblogresponse.asp"
    Const DvApi_Urls = "http://www.56mr.com/API/API_Response.asp|http://www.56mr.com/blog/API/oblogresponse.asp"
    %>

  6. 56mr
    2007年2月7日 19:47 | #6

    [ 博客整合文件设置 ]
    '整合通用接口参数
    Const API_Enable = True '是否整合,如果整合请设为True,否则为False。
    Const oblog_Key = "56mrw" '网站key,必须与整合端的key一致。
    Const strTargetUrls = "http://www.56mr.com/bbs/dv_dpo.asp|http://www.56mr.com/api/api_response.asp" '要整合的程序的完整URL(以“http://”开头,以接口文件的文件名结尾),如果有多个系统要整合,每个URL间用“|”分隔
    Dim aUrls
    aUrls=Split(strTargetUrls,"|")
    %>

    然后又按感觉的,在'说明:
    '打开conn.asp在的后面加上:
    '

    最后下载了你刀刀的更新同步数据文件:www.56mr.com/UserSynchro/index.htm,提示更新成功

    按照这些要求整了N遍,还是说“错误,服务器无响应“`”

    请问刀刀,指出一下错在哪里,实在是菜鸟一只,俺这头都大了““““““

  7. 56mr
    2007年2月7日 19:46 | #7

    还是不懂你这个代码怎么搞,搞成这样也整合不了“`

    我用的是你们之前发布的那种整合方式,下载最新版本SP5,DV70P1,BLOG4,修改整合文件““

    比如:
    [ 动易整合文件设置 ]
    Const API_Enable = True
    Const API_Key = "56mrw"
    Const API_Urls = "论坛@@http://bbs/dv_dpo.asp|博客@@http://blog/API/oblogresponse.asp"
    Const API_Timeout = 10000

    [ 动网整合文件设置 ]
    '整合通用接口参数
    Const API_Enable = True '是否整合,如果整合请设为True,否则为False。
    Const oblog_Key = "56mrw" '网站key,必须与整合端的key一致。
    Const strTargetUrls = "http://bbs.56mr.com/bbs/dv_dpo.asp|http://www.56mr.com/api/api_response.asp" '要整合的程序的完整URL(以“http://”开头,以接口文件的文件名结尾),如果有多个系统要整合,每个URL间用“|”分隔
    Dim aUrls
    aUrls=Split(strTargetUrls,"|")
    %>

  8. 小李刀刀
    2007年1月8日 05:49 | #8

    [quote=百佳] 引用内容
    引用来自 yuzhilei
    如何修改动易2006的Cookies名:

    我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
    C:Inetpubwwwroot
    C:Inetpubwwwrootwto
    但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
    这和Cookies有关吗?怎么把2个网站的Cookies分开?

    我在动易BBS上给你发过站内短信,帮帮,谢谢。

    同一个域名下应该是只能安装一个动易系统,安装多个会出现配置混乱的情况。

    难道就没有办法解决马?[/quote]

    需要创建虚拟目录,或者两个虚拟主机,才能在同一主机安装两个动易系统。

  9. 百佳
    2007年1月7日 04:49 | #9

    [quote] 引用来自 yuzhilei
    如何修改动易2006的Cookies名:

    我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
    C:Inetpubwwwroot
    C:Inetpubwwwrootwto
    但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
    这和Cookies有关吗?怎么把2个网站的Cookies分开?

    我在动易BBS上给你发过站内短信,帮帮,谢谢。

    同一个域名下应该是只能安装一个动易系统,安装多个会出现配置混乱的情况。[/quote]

    难道就没有办法解决马?

  10. 文青龙案
    2006年12月26日 00:01 | #10

    就是两个都在局域网内,服务器有两个网卡,一个网卡的地址是:192.168.104.8,一个网卡的地址是10.102.127.6。分别对两个网段的用户提供服务。
    还有我想问一下,如果我的服务器地址是局域网地址,通过映射到实地址上,一旦打开系统整合后通过互联网的实地址就不能够登陆了,报HTTP 500 – 内部服务器错误 。这个有什么办法解决吗?

  11. 文青龙案
    2006年12月14日 07:42 | #11

    我的服务器是多网段的,用你讲的方法将动易和动网整合,整合的过程中也没有出现什么错误提示。整合后从动网登陆,动易显示用户正常登陆,注销也一样。但是从动易登陆,动网显示用户没有登陆。这个情况是什么原因造成的 啊,怎么解决。

    [color=red][b]小李刀刀[/b]:
    你的URL是多少?另外,我们这里是针对多域名,你说的多网段是什么意思?你的网站直接用IP访问?
    [/color]

  12. Sulli
    2006年12月13日 07:16 | #12

    请问可不可以只整合动网和动易呀??

    就是没有装滴系统OBLOG~!~!

    [color=red][b]小李刀刀[/b]:
    可以。
    [/color]

  13. 小李刀刀
    2006年12月12日 22:58 | #13

    [quote=yuzhilei]如何修改动易2006的Cookies名:

    我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
    C:Inetpubwwwroot
    C:Inetpubwwwrootwto
    但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
    这和Cookies有关吗?怎么把2个网站的Cookies分开?

    我在动易BBS上给你发过站内短信,帮帮,谢谢。[/quote]

    同一个域名下应该是只能安装一个动易系统,安装多个会出现配置混乱的情况。

  14. yuzhilei
    2006年12月4日 20:05 | #14

    如何修改动易2006的Cookies名:

    我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
    C:Inetpubwwwroot
    C:Inetpubwwwrootwto
    但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
    这和Cookies有关吗?怎么把2个网站的Cookies分开?

    我在动易BBS上给你发过站内短信,帮帮,谢谢。

  15. yuzhilei
    2006年12月4日 19:53 | #15

    真佩服你,刀刀。

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>