1

我在我的站点上设置了一个基本的 API 端点,第 3 方站点将使用它来验证用户输入表单的某些信息。

流程如下: 1. 用户在第 3 方站点上。2. 用户在表单中输入信息 3. 信息被发送到我站点的端点。4. 我的站点检查信息并返回一个 JSON 对象。

从 #4 中可以看出,我的 API 当前设置为返回 JSON 对象。检查信息后,会发生以下情况:

    header('content-type: application/json; charset=utf-8');
    echo json_encode($response);
    exit;

但是,第 3 方站点仅设置为接收 URL 变量。有没有办法以编程方式传回 url 变量?我意识到我理论上可以发送一个新请求,但我不清楚该请求应该去哪里(第 3 方站点的内部工作没有很好的文档记录),所以我更愿意将它作为响应发送。

我希望这是有道理的。如果没有,请发表评论。提前致谢!

4

1 回答 1

1

您不能在响应中发送 GET/POST 参数,但在响应中,response body您可以发送任何您想要的任何格式 - 他们可以使用curlfile_get_content解析它(第 3 方的网站)。

例如(在第 3 方的网站上):

//setting a call to your server
$opts = array('http' =>
  array(
    'method'  => 'POST',
    'header'  => "Content-Type: text/xml\r\n".
      "Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n",
    'content' => $body,
    'timeout' => 60
  )
);

$context  = stream_context_create($opts);
$url = 'https://'.$https_server;
// Here they call your server
$result = file_get_contents($url, false, $context, -1, 40000);
// Here you'll parse the $result
于 2012-09-13T18:18:07.607 回答