代码之家  ›  专栏  ›  技术社区  ›  DMJ

重定向到包含原始帖子数据的URL

  •  0
  • DMJ  · 技术社区  · 6 年前

    我的问题和这个一样: Sending a RAW data POST-request with an HTML Form? 除了一个例外:所有给出的答案都不适用于我的情况。

    我需要与第三方API进行通信,不幸的是,我无法控制该API。这主要发生在服务器端,所以我在PHP脚本中通过CURL进行通信。

    然而,有一个地方我遇到了一堵墙。我的服务器从API接收到一个重定向URL,我必须重定向该URL 使用者 到与中一样,他们必须在web浏览器中访问第三部分页面。

    看起来很简单,只需使用PHP向用户发送重定向头,对吗?事实证明我不能这样做,因为第三方页面需要在请求头中提供POST数据。

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

    我唯一能找到的将原始post数据发送到客户端的方法是通过Javascript XMLHttpRequest。但是,这也不是我需要的,因为用户实际上必须在浏览器中的第三方url加载页面并与之交互。

    因此,我需要某种方法将我的用户重定向到第三方URL,包括帖子标题中的原始字符串。有人知道怎么做吗?我真的不在乎这是通过PHP、HTML还是Javascript实现的。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Javier Larroulet    6 年前

    这是我很久没有做过的事情了,但是PHP是本地的 stream_context_create 功能才是出路。

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

    这样,再加上重定向标题,你就可以上路了