gpt4 book ai didi

php - 在 PHP 中响应来自客户端站点的 Https POST 请求

转载 作者:太空宇宙 更新时间:2023-11-03 13:10:37 25 4
gpt4 key购买 nike

我有一个中央网站 (A),它将使用 SSL 进行保护。

其他客户端站点(比方说 B、C、D、E ......)将连接到此站点 A。

要求是从站点 B(或 C、D、E.....)向站点 A 发送 HTTPS POST 请求。

请求的参数为

WEBSITEKEY=keyvalue;

那么Site A必须对这个请求做出回应。

响应应该有一个必不可少的参数,

SECUREKEY=key-value-secure;
Para1=para1value;
Para2=para2value;
Para3=para3value;
Para4=para4value;

如何在 PHP 中实现这个响应部分?我是 SSL POST 和响应的新手。

稍后编辑,

我们总是发送请求并得到即将到来的响应。在这里,我需要为客户端请求提供响应/创建响应。我怎样才能在 PHP 中做到这一点?我找到了以下代码..

<?php
//process the request by fetching the info
$headers = http_get_request_headers();
$result = http_get_request_body();
//do stuff with the $headers and $result variables....
//then send your response
HttpResponse::status(200);
HttpResponse::setContentType('text/xml');
HttpResponse::setHeader('From', 'Lymber');
HttpResponse::setData('<?xml version="1.0"?><note>Thank you for posting your data! We love php!</note>');
HttpResponse::send();
?>

将响应从启用 SSL 的站点发送到普通站点是否正确?

最佳答案

SSL 部分无关紧要;它将由 Web 服务器处理,PHP 将像往常一样接收请求。

您唯一需要做的就是构建您的请求,为此,您需要知道该请求将采用的格式。此外,您是否需要一些特殊的 MIME 类型或其他。

例如,假设答案必须采用 JSON 格式。然后它需要是这样的:

<?php
if (!isset($_POST['WEBSITEKEY'])) {
// Handle error. E.g.
Header("HTTP/1.1 400 Bad Request");
die();
}

$websitekey = $_POST['WEBSITEKEY'];

require 'yourcode.php';

$response = array(
'SECUREKEY' => md5($secret . $websitekey),
'para1' => date('Y-m-d H:i:s'),
'para2' => 'Hello world',
);
// Specifying charset isn't strictly necessary but may be useful.
Header("Content-Type: application/json;charset=UTF-8");
$data = json_encode($response);
$len = strlen($data);
// Some browser/proxy/load balancer may get better performance if the
// length is known beforehand. This also disables Chunked-Encoding, which
// in some scenarios may give problems.
Header("Content-Length: {$len}");
die($data); // Ensure no more output after this..

如何处理 $websitekey 完全取决于您的应用程序逻辑。在这里它连接到一个 secret 盐字符串并用于构建响应 SECUREKEY,但您基本上可以做任何您想做的事情。

关于php - 在 PHP 中响应来自客户端站点的 Https POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12838304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com