【发布时间】:2020-02-02 16:55:51
【问题描述】:
我在检索外部服务器发送给我的数据时遇到问题。我会更好地解释:为了更改数据库中记录的状态,我联系了一个外部应用程序,该应用程序将我在标题中创建的调用结果发送到应用程序。
现在,我的问题是:如果我的服务器中有 file_get_contents("php://input") 被阻止或限制,我是否有替代解决方案来检索该数据?如果是,它是什么?
编辑:这是一个代码示例。
//the function will be called every time the external server calls my file
function remoteValidation(){
$requestData = file_get_contents("php://input");
if (isset($requestData) && !empty($requestData) && $requestData['signature'] == $this->savedSignature) {
// validation on the signature
} else {
throw new Exception ('The signature is not valid, or is empty!);
}
}
【问题讨论】:
-
您的服务器正在阻止“远程服务器连接”。请联系您的主机提供商以允许“file_get_contents()” php 功能。
-
这个问题似乎有点混乱 - 是外部服务器连接到您的服务器(例如有人正在向您的服务器发出 POST 请求),还是您的服务器试图连接到外部服务器(cURL 到也许是一个 API)?
-
你能提供一些示例代码吗?我理解您的问题是这样的:您的应用程序是从外部服务器调用的,并且您想访问请求的正文?另一方面,您提到了标题。如果您要查找的信息在标题中,则可以通过其他方式获取它。
-
@ahuemmer 我已经编辑了帖子以提供代码示例。
-
@CD001 外部服务器调用我的应用程序的特定文件,每次服务器调用它时,我都会触发函数“remoteValidation”,就像上面的代码示例中一样(在调用的文件中。我只需从对象的构造函数中触发它)。
标签: php web-applications server header-files file-get-contents