通过tcp / ip传输数据并通过HTTP GET / POST请求发送。 iPhone网络服务器

时间:2016-11-11 14:49:35

标签: php ios http webserver iot

对于我正在进行的项目,我需要从iPhone应用程序“SensorLog”获取数据。 使用SensorLog,您可以读取iOS设备的传感器数据并通过电子邮件将其作为csv文件发送,通过tcp / ip传输,并通过HTTP GET / POST请求发送

我需要通过tcp / ip流式传输它,并通过HTTP GET / POST请求将其发送到我的本地计算机。以下是手机配置屏幕。

Configuration screen 以下是APP提供的PHP代码。

<html>
<head>
<title>php post get</title>
</head>
<body>
<?php 

echo "PHP Example: Receiving SensorLog data via HTTP GET/POST and save it to      a file<br>\n";
$line = array();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $line[] = "HTTP:POST";
    foreach($_POST as $key=>$value) { 
        $line[] = "$key:$value";
    }
} 
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $line[] = "HTTP:GET";
    foreach($_REQUEST as $key=>$value) { 
        $line[] = "$key:$value";
    }
}
if (count($line) > 1) {
    $myfile = fopen("SensorLog.txt", "a") or die("Unable to open file!");
    $line = implode(",",$line);
    $line .= "\n";
    fwrite($myfile,$line);
    fclose($myfile);
} else { 
echo "<h3>Logged Data</h3>";
$myfile = fopen("SensorLog.txt", "r") or die("Unable to open file!");
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
}

?>
</body>
</html>

我在本地系统中设置了Apache Web Server和PHP。

问 ** 1.我应该把什么放在iPhone中的应用程序的URL中 2.如何在本地系统中接收数据**

我真的很陌生。我需要进一步处理数据,但无法获得“数据流”。请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您的应用通过网址处理 php脚本,那么您必须处理$_GET并且您应该将 php代码更改为:

...
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $line[] = "HTTP:GET";
    foreach($_GET as $key=>$value) { 
        $line[] = "$key:$value";
    }
}
...

您的网址应如下所示:
http://yourdomain/?KEY1_VALUE=VALUE1_VALUE&KEY2_VALUE=VALUE2_VALUE&KEY3_VALUE=VALUE3_VALUE

这将在文件中生成此内容:
KEY1_VALUE:VALUE1_VALUE,KEY2_VALUE:VALUE2_VALUE,KEY3_VALUE:VALUE3_VALUE

如果您在本地服务器上工作,那么您的域名为:http://127.0.0.1/http://localhost/