首页 > 解决方案 > 从 Delphi-7 中的客户端调用时,无法在 Windows Server 2012 中执行 asp-classic 脚本

问题描述

我已将在 Windows Server 2008 上运行的应用程序迁移到 Windows Server 2012 上的应用程序。

它是一个桌面应用程序,它对服务器的脚本进行多次调用.asp,并从中调用 SQL Server 中的存储过程。

从客户端计算机进行调用的程序是在 Delphi 7 中制作的 DLL。

此挂载在 Windows Server 2008 上的计算机上正常工作。

但是现在我得出的结论是脚本没有执行,.asp因为我没有收到来自服务器的响应,尽管我在.log文件中看到它们被调用并且具有正确的参数。

以下行来自 .log 文件

2018-11-27 15:51:20 nn.nnn.nnn.223 GET /soporte/lnk_mnto.asp COD=MFM0010010LRN&APP=MF&cachedisable=FNFAJDNHFIDLELA 80 - nn.nnn.nnn.nnn HTTP/1.0 Mozilla/4.0+(兼容; +突触)- www.ikutgroup.com 301 0 0 569 205 62
2018-11-27 15:52:36 nn.nnn.nn.223 GET /soporte/lnk_mnto.asp COD=MNF5369168SB7&APP=MN&cachedisable=IHOLGLANIEKMBJE 80 - 89.128.30.175 HTTP/1.0 Mozilla/4.0+(兼容;+Synapse)- www.ikutgroup.com 301 0 0 569 205 46

可以看到,COD 和 APP 是脚本lnk_mnto.asp需要的参数,来自 Delphi DLL 的调用注册在日志文件中,但是 DLL 没有收到应答。

但是,如果我通过这个调用直接从浏览器调用 asp 脚本:

http://xxxxxxxx.com/soporte/lnk_mnto.asp?COD=MNF5369168SB7&APP=MN&cachedisable=HNIKNFNMEJMFBDH

我收到正确的答案。

我知道在第一种情况下,脚本没有执行,因为我在它的第一条指令中添加了记录数据库中的一行,并且没有发生这种情况。相反,当从浏览器调用脚本时,该行记录在数据库的表中。

我认为这是权限问题,但我不知道应该看什么来纠正它。

你有什么想法可以让我尝试解决我的问题吗?

标签: serverasp-classicdelphi-7

解决方案


不。是来自客户端计算机的dll调用服务器中的.asp脚本。

但最后我在 Delphi 中制作了一个新的测试程序,复制了在 .ASP 中调用脚本的指令,当我运行它时,我看到它返回了以下类型的错误:

<.head><.title>文档已移动<./title><./head> <.body><.h1>对象已移动<./h1>此文档可在 <.a HREF="http:// myweb.com/soporte/lnk_mnto?COD=MNF873455SB7&APP=MN&cachedisable=GNDECGBLJBFHBHA">这里<./a>

然后我在网上查找有关此错误消息的信息,我发现以下页面解决了我的问题

https://network.convergenceservices.in/forum/68-plesk-panel-hosting/3711-document-moved-or-object-moved-error.html

简而言之,它表示在页面的 Plesk 配置中,您必须在问题中输入“无”:“首选域”。

  1. 登录到 plesk 控制面板
  2. 点击网站和域名
  3. 点击主机设置
  4. 从“首选域”中选择“无”下拉列表框</li>
  5. 点击确定

现在我的问题解决了。

非常感谢大家。


推荐阅读