重定向到带有原始帖子数据的URL

时间:2018-10-18 22:55:21

标签: javascript php html http html-form-post

我的问题与以下问题相同:Sending a RAW data POST-request with an HTML Form?,但有一个例外:在我的情况下,给出的答案均无效。

我需要与第三方API通信,但不幸的是我无法控制该API。通常这是在服务器端进行的,因此我通过PHP脚本中的CURL进行通信。

但是,有一个地方我碰壁。我的服务器从API接收到重定向URL,我必须将 user 重定向到。在这种情况下,他们必须在网络浏览器中访问该第三部分页面。

似乎很简单,只需使用PHP向用户发送重定向标头吧?事实证明我不能这样做,因为第三方页面在请求标头中需要POST数据。

我的下一个想法是创建一个带有隐藏输入的HTML表单,并将其提交给第三方页面。那也不起作用,因为我必须发送的POST数据实际上只是一个原始字符串,而不是一个表单字段。示例:3d2c993f-1a99-4078-bb56-c10498c65092。基本上,我需要摆脱POST请求的“ name =”部分。

我发现发送客户端原始数据的唯一方法是通过Javascript XMLHttpRequest。但是,这也不是我所需要的,因为用户实际上必须在其浏览器中的第三方URL处加载页面并与该页面进行交互。

因此,我需要某种方式将用户重定向到第三方URL,包括POST标头中的原始字符串。有人有任何提示该怎么做吗?我真的不在乎是否通过PHP,HTML或Javascript完成。

1 个答案:

答案 0 :(得分:1)

这是我很长一段时间都没有做过的事情,但是PHP的本机stream_context_create函数才是解决之道。

http://php.net/manual/en/function.stream-context-create.php

将其与重定向标头结合使用将使您前进