【问题标题】:How to do a server to server response to a POST如何对 POST 进行服务器到服务器的响应
【发布时间】:2021-02-22 12:47:54
【问题描述】:

我正在开发一个旧的经典 asp 站点,该站点使用 vbscript 作为服务器代码,使用 HTML 和 JavaScript 作为客户端。我正在与处理信用卡付款详细信息的外部服务器通信。

我已经找到了大量从 POST 到服务器(使用 JavaScript 从客户端和使用 vbscript 从我们自己的网站服务器)获取响应的答案。但是我找不到的是如何从我的服务器响应信用卡网关服务器发出的 POST。

顺序是这样的:

  1. 我将所有交易详情发布到网关服务器
  2. 他们立即响应成功状态、安全密钥、事务 ID 和我必须立即重定向到的 URL。
  3. 然后他们将“通知”帖子发送到我在第一篇帖子中提供的 URL,其中包含由交易详细信息和重要的安全密钥组成的 MD5 哈希。我必须生成相同的 MD5 哈希并检查它是否匹配。这显然是为了确认初始交易没有受到任何损害。
  4. 完成安全检查后,我需要回复:“当我们收到您对我们的通知 POST 的回复时,我们会根据您的回复状态确定将您的客户浏览器定向到何处:”

最后一个阶段是我正在努力的阶段。我敢肯定这是非常简单和愚蠢的事情,但我在任何地方都找不到任何信息。我在 HTTPResponse 上找到了很多东西,但似乎都是从我所做的 POST 中获得响应(并且我在早期阶段使用过它),而在这里我想生成对我收到的 POST 的响应.请注意,这一切都必须在我的服务器端完成,因为信用卡网关具有我们服务器的 IP 地址,并且只接受来自该 IP 地址的这些交易,因此这些都不能从客户的浏览器发送。

对不起,如果这真的很愚蠢!我是 C++ 开发人员而不是 Web 开发人员,但是就像这些事情一样,我必须做一些 Web 开发!

【问题讨论】:

  • 听起来你想多了,如果他们使用 POST 向你指定的 URL 发送请求,你只需要编写经典 ASP 页面来检查发布给你的值通过检查Request.Form 集合。
  • 还应该提到,根据您在请求中收到的内容,此实例中的响应将是您Response.Write() 对页面的响应。因为他们是消费者,所以他们会解释您页面的输出。
  • 谢谢,伙计们,你说得对,我想多了。我从来没有想过我应该做一个 response.write 来与网关服务器通信。我把这个动作锁定在我的脑海里,纯粹是在我的浏览器上放一些东西!我知道一定是我太笨了!

标签: post vbscript asp-classic response


【解决方案1】:

您在这里谈论的是消费者(网关服务器)向您的 Web 应用程序上的端点发送 POST 请求,您应该像从本地请求接收 POST 一样处理该请求,该过程是一样的。

这是一个基本的例子;

<%
'Expect only POST data to this page
If UCase(Request.ServerVariables("REQUEST_METHOD") & "") = "POST" Then
  'Craft your response
  Call BuildResponse()
Else
  'Anything other then a POST should be met with a 404 response.
  Response.Status = "404 Not found"
End If
Call Response.End()

'Sub for crafting your response.
Sub BuildResponse()
  'Do we have a form field of "somevalue" with a value of "yes"?
  If LCase(Request.Form("somevalue") & "") = "yes" Then
    Call Response.Write("Hello world - Valid")
  Else
    Call Response.Write("Hello world - Invalid")
  End If
End Sub
%>

这只是一个基本示例,它需要一个值为“yes”的表单发布参数“somevalue”。基于此,它返回一个条件响应。 显然,您将需要根据您的要求填充响应,但这应该让您了解如何构建它。

旁注:由于您自己不是消费者,因此输出文本文件或设置电子邮件以报告传递的表单参数以帮助您调试消费者的内容可能是一个想法正在向页面发布,以帮助您了解如何处理请求并生成消费者期望的有效响应。


有用的链接

【讨论】:

  • 谢谢,我从来没有想过我应该做一个 response.write 来与网关服务器通信。我把这个动作锁定在我的脑海里,纯粹是在我的浏览器上放一些东西!我知道一定是我太笨了!
猜你喜欢
  • 2016-04-09
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多