前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何快速部署一个接收回调数据的服务器

如何快速部署一个接收回调数据的服务器

原创
作者头像
醉生萌死
修改2021-09-11 02:36:17
4.9K0
修改2021-09-11 02:36:17
举报
文章被收录于专栏:醉生梦死醉生梦死

一、目标

搭建一个可以接收回调数据的服务器!

二、操作步骤

1、准备一台服务器

如果还没有服务器,可以购买一台按量计费的服务器测试使用,使用完成后,销毁即可,如果已经拥有一台,进行下一步即可。

官网购买 - 按量计费参考文档:

https://cloud.tencent.com/document/product/213/506#.E6.8C.89.E9.87.8F.E8.AE.A1.E8.B4.B9

2、重装系统选择【服务市场镜像】-【LNMP环境】

注:我这里就随意选的一个lnmp的镜像,可以使用其他的镜像,原理都是一样的。

(如果你使用镜像和我使用的这个镜像是一个,就按照下面一步步操作就行了;

如果使用的不是这个镜像,在网站的根目录下创建下面第4、5步的文件,原理都是一样的!)

注:重装系统会清除原有系统中所有数据,谨慎操作

找到指定的服务器,重装系统
找到指定的服务器,重装系统

我这里就选择下面截图中的镜像《LNMP环境(50G),如果你对lnmp不是很了解的话,建议可以使用和我使用的这个一样的镜像,完全模仿即可。

镜像使用说明,参考此文档:

https://market.cloud.tencent.com/products/9943?productId=9943&_ga=1.30065021.352166134.1560440081

选择镜像
选择镜像

选择镜像、设置密码后,然后开始重装系统,重装系统过程需要一些时间,耐心等待完成:

3、完成后,登录到服务器中

登录服务器中
登录服务器中
登录成功界面
登录成功界面

4、编辑callback.php文件

代码语言:javascript
复制
<!DOCTYPE HTML>
<html>
<body>
<?php
$callback_file = fopen("callback.log", "a+") or die("open_file_error!");
$json = file_get_contents("php://input");
$data = json_decode($json, true);
fwrite($callback_file,var_export($data,true));
fwrite($callback_file, "\n================================================\n");
fclose($callback_file);
echo '
{
    "msg": "OK"
}
';
?>
</body>
</html>


===================================================================================
上方代码仅能获取到body体,下面的代码是把body和URI都拿到
===================================================================================


<!DOCTYPE HTML>
<html>
<body>
<?php
// 获取请求的URL
// 如: http://127.0.0.1//callback.php?identifier=admin1&random=99999999
function getUrl()
{
	$url = $_SERVER['REQUEST_SCHEME'] . "://" . $_SERVER['HTTP_HOST'] . "/" . $_SERVER['REQUEST_URI'] . "\n";
	return $url;
}

// 获取post请求的body体
function getPostData() 
{
	$body  = file_get_contents("php://input");
	return $body;
}

// 获取请求的Header
function getHeader() {
	$headers = array(); 
	foreach ($_SERVER as $key => $value) {
        if ('HTTP_' == substr($key, 0, 5)) { 
			$headers[str_replace('_', '-', substr($key, 5))] = $value; 
	    }
	    if (isset($_SERVER['PHP_AUTH_DIGEST'])) { 
			$header['AUTHORIZATION'] = $_SERVER['PHP_AUTH_DIGEST']; 
	    } elseif (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) { 
			$header['AUTHORIZATION'] = base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $_SERVER['PHP_AUTH_PW']); 
	    } 
	    if (isset($_SERVER['CONTENT_LENGTH'])) { 
	        $header['CONTENT-LENGTH'] = $_SERVER['CONTENT_LENGTH']; 
	    } 
	    if (isset($_SERVER['CONTENT_TYPE'])) { 
			$header['CONTENT-TYPE'] = $_SERVER['CONTENT_TYPE']; 
	    }
	}
	return $headers;
}

// 写入文件中
$callback_file = fopen("callback.log", "a+") or die("open_file_error!");
fwrite($callback_file, "\n ============== start ================================== \n");

fwrite($callback_file, "请求的时间:");
fwrite($callback_file, date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']));

fwrite($callback_file, "\n请求的url:");
fwrite($callback_file, getUrl());

fwrite($callback_file, "请求的header:\n");
foreach (getHeader() as $key => $value) {
	// echo $key . ":" . $value . "\n";
	$header = "    " . $key . ":" . $value . "\n";
	echo $header;
	fwrite($callback_file, $header);
}

fwrite($callback_file, "请求的body体:\n");
fwrite($callback_file, getPostData());

fwrite($callback_file, "\n ============== end   ================================== \n");
fclose($callback_file);

// 响应的json内容
echo '
{
    "msg": "OK"
}
';

?>
</body>
</html>
编写callback.php文件
编写callback.php文件

5、创建保存回调数据的文件callback.log

代码语言:javascript
复制
[root@VM_1_15_centos ~]# touch /home/wwwroot/default/callback.log
[root@VM_1_15_centos ~]# ll /home/wwwroot/default/callback.log
-rw-r--r-- 1 root root 0 Jun 29 21:51 /home/wwwroot/default/callback.log
创建保存数据的文件
创建保存数据的文件

6、修改下callback.log的文件权限

代码语言:javascript
复制
[root@VM_1_15_centos ~]# chown www.www /home/wwwroot/default/callback.log
-rw-r--r-- 1 root root 0 Jun 29 21:58 /home/wwwroot/default/callback.log
[root@VM_1_15_centos ~]# ll /home/wwwroot/default/callback.log
-rw-r--r-- 1 www www 0 Jun 29 21:58 /home/wwwroot/default/callback.log
修改文件权限
修改文件权限

7、此时已经配置完成

回调url为:http://服务器ip地址/callback.php

回调数据保存的文件:/home/wwwroot/default/callback.log

获取服务器ip地址:

服务器ip地址
服务器ip地址

8、使用postman模拟发送数据往回调url,并查看接收到的数据信息:

模拟回调数据
模拟回调数据

注:如果文章内容存在错误,请指出,以便及时更改,谢谢。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、目标
  • 二、操作步骤
    • 1、准备一台服务器
      • 2、重装系统选择【服务市场镜像】-【LNMP环境】
        • 3、完成后,登录到服务器中
          • 4、编辑callback.php文件
            • 5、创建保存回调数据的文件callback.log
              • 6、修改下callback.log的文件权限
                • 7、此时已经配置完成
                  • 8、使用postman模拟发送数据往回调url,并查看接收到的数据信息:
                  相关产品与服务
                  云服务器
                  云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档