2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Отправка данных с андройда на сервер.
Сообщение06.04.2017, 21:23 
Здравствуйте. У меня есть приложение на андройде, которое умеет подключаться к серверу и методом POST отправлять на него данные о входящих смс [cсылка удалена как потенциально рекламная // Karan]. Сервер - apache, настроил port forwarding для подключение через интернет. На сервере имеется простенький PHP скрипт, который записывает данные из смс в текстовый файл, вот его код.
код: [ скачать ] [ спрятать ]
Используется синтаксис PHP
<?php
 
// Метод получающий смс.
function get_message()
{
    $error = NULL;
    $success = false;
 
    // Номер отправителя.  
    if (isset($_POST['from']))
    {
        $from = $_POST['from'];
    }
 
    else
    {
        $error = 'The from variable was not set';
    }
   
    // Тело смс.    
    if (isset($_POST['message']))
    {
        $message = $_POST['message'];
    }
 
    else
    {
        $error = 'The message variable was not set';
    }
   
     // Секретный ключ
    if (isset($_POST['secret']))
    {
        $secret = $_POST['secret'];
    }
 
    // Время отправки
   if(isset($_POST['sent_timestamp']))
    {
        $sent_timestamp = $_POST['sent_timestamp'];
    }
   
    // Номер телефона девайса отправителя
    if (isset($_POST['sent_to']))
    {
        $sent_to = $_POST['sent_to'];
    }
   
    // id сообщения
    if (isset($_POST['message_id']))
    {
        $message_id = $_POST['message_id'];
    }
   
    // id девайса
    if (isset($_POST['device_id']))
    {
        $device_id = $_POST['device_id'];
    }
   
    if ((strlen($from) > 0) AND (strlen($message) > 0) AND
        (strlen($sent_timestamp) > 0 )
        AND (strlen($message_id) > 0))
    {
        if ( ( $secret == '123456'))
        {
            $success = true;
        }
 
        else
        {
            $error = "The secret value sent from the device does not match the one on the server";
        }
 
        // Запись данных в файл
        $string = "From: ".$from."\n";
        $string .= "Message: ".$message."\n";
        $string .= "Timestamp: ".$sent_timestamp."\n";
        $string .= "Messages Id:" .$message_id."\n";
        $string .= "Sent to: ".$sent_to."\n";
        $string .= "Device ID: ".$device_id."\n\n\n";
        write_message_to_file($string);
    }
}
 
 
function write_message_to_file($message)
{
    $myFile = "test.txt";
    $fh = fopen($myFile, 'a') or die("can't open file");
    @fwrite($fh, $message);
    @fclose($fh);
}
 
 
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
    get_message();
}
 
echo "done";
?>

Создавал форму, которая использовала этот скрипт, при ее отправке с удаленного компьютера все работало нормально - создавался текстовый файл с данными из формы, но андроид приложение почему-то не хочет конектится к серверу и не выполняет этот скрипт. Подскажите, что делаю не так?

 
 
 
 Re: Отправка данных с андройда на сервер.
Сообщение06.04.2017, 23:13 
Аватара пользователя
Crystal Serenity в сообщении #1207096 писал(а):
Создавал форму, которая использовала этот скрипт, при ее отправке с удаленного компьютера все работало нормально - создавался текстовый файл с данными из формы, но андроид приложение почему-то не хочет конектится к серверу и не выполняет этот скрипт. Подскажите, что делаю не так?
Пока Вы не расскажете подробностей (как именно вы в андроид приложении посылаете запрос и что именно происходить при попытке подключения - какие исключения, например), Вам вряд ли кто-то сможет помочь. Телепатов не бывает.

 
 
 
 Posted automatically
Сообщение06.04.2017, 23:23 
 i  Тема перемещена из форума «Программирование» в форум «Карантин»
по следующим причинам:

- не сформулирован вопрос: опишите неисправность подробно, приведите все детали со стороны как клиента, так и сервера.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group