【发布时间】:2019-03-23 19:59:05
【问题描述】:
我的问题与这个问题相同:Sending a RAW data POST-request with an HTML Form?,但有一个例外:在我的情况下,给出的答案都不起作用。
我需要与第 3 方 API 通信,遗憾的是我无法控制。这主要发生在服务器端,所以我在我的 PHP 脚本中通过 CURL 进行通信。
但是,有一个地方我撞到了墙上。我的服务器从 API 接收到一个重定向 URL,我必须将 user 重定向到该 URL。例如,他们必须在其 Web 浏览器中访问该第 3 部分页面。
看起来很简单,只需使用 PHP 向用户发送重定向标头,对吗?事实证明我不能这样做,因为第 3 方页面需要请求标头中的 POST 数据。
我的下一个想法是创建一个带有隐藏输入的 HTML 表单并将其提交到第 3 方页面。这也不起作用,因为我必须发送的 POST 数据实际上只是一个原始字符串,而不是表单字段。示例:3d2c993f-1a99-4078-bb56-c10498c65092。本质上,我需要去掉 POST 请求中的 'name=' 部分。
我能找到在客户端发送原始帖子数据的唯一方法是通过 Javascript XMLHttpRequest。但是,这也不是我所需要的,因为用户实际上必须在浏览器中的第 3 方 url 加载页面并与之交互。
所以,我需要一些方法将我的用户重定向到第 3 方 URL,包括 POST 标头中的原始字符串。任何人都知道如何做到这一点?我真的不在乎这是通过 PHP、HTML 还是 Javascript 完成的。
【问题讨论】:
标签: javascript php html http forms http-post