2016-07-04 87 views
-2

如何从一个网站的短信网关(一般情况下)获取响应?从短信网关获取响应php

+0

请使用您正在使用的相关'php'代码更新您的问题。另外什么是预期的输出和什么是实际结果。 –

回答

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)。