我在我的网站上设置了一个基本的 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/