php - 如何通过我的 PHP 端点的响应以编程方式发送 URL 变量

标签 php api http http-headers query-string

我在我的网站上设置了一个基本的 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 方站点的内部工作没有很好的记录),所以我更愿意将它作为响应发送。

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

最佳答案

您不能在响应中发送 GET/POST 参数,但在 response body 中,您可以以任何格式发送任何内容 - 他们可以使用 curl file_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

关于php - 如何通过我的 PHP 端点的响应以编程方式发送 URL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409987/

相关文章:

http - 查询字符串键是否区分大小写?

php - 算法 - 多个研讨会和时间框架之间的理想分配

php - 当 url 指向现有文件夹(无尾部斜杠)时如何重定向到 404。 HAproxy 或 mod-rewrite 相关

node.js - 使用 Node Js 将普通图像转换为渐进图像

http - Wireshark 在跟随 TCP 流窗口的不同位置显示 post 参数

http - 为什么我们不能让有状态的协议(protocol)运行网络?

php - 在提交表单之前用 <br/> 标记替换换行符?

php - 如何在 phpstorm 中查找所有具有函数的文件?

android - Xam.Geolocation.Plugin 不适用于我的 Android 应用程序

c# - 将两个不同的 JSON 对象 FromBody 传递到 Controller