从php中获取SMS网关的响应

时间:2016-07-04 13:51:34

标签: php http sms response gateway

如何从站点中的SMS网关(一般情况下)获取响应?

1 个答案:

答案 0 :(得分:0)

SMS网关的文档应描述如何通过HTTP呈现数据;格式将特定于SMS网关,没有标准。

网关是否由第三方维护?如果您自己安装了它,那么它如何呈现信息可能是其配置的一部分,这里的问题不在此处。

假设网关配置正确,您可以在$ _REQUEST中查看网关提供的所有数据。在一些(非常模糊的)案例中,数据可能会以原始帖子的形式呈现。

只需捕获完整请求即可查看数据的呈现方式。如果PHP在Apache(你没说)中以mod_php的形式运行,那么这是最简单的:

<?php
$log=tempnam("/tmp", 'mo_sms');
$output="started " . date('r') . "\n";
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
   $output.="$header : $value\n";
}
$output.="\n";
while (!feof(STDIN)) {
   $output.=fgets($TDIN);
}
file_put_contents($log, $output);

请注意,这可能无法完成与网关的交易 - 它可能会期望某种确认数据已成功传递(但可能会对HTTP 200进行处理)。