Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Отправка POST запроса серверу - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android AsyncTask должен использовать Context http://www.cyberforum.ru/android-dev/thread839395.html
Добрый день! Мое приложение должно использовать сетевое соединение, вынесенное в отдельный поток. В этом потоке я выполняю POST запрос и пытаюсь записать результат в БД, но экземпляр класса...
Программирование Android HttpPost конфликтует с БД Добрый вечер! Столкнулся со следующей проблемой, я имею два корректно работающих приложения: первое выполняет POST запрос и получает ответ, второе записывает и удаляет строки в БД (взяты из... http://www.cyberforum.ru/android-dev/thread838963.html
Программирование Android Сделать часть текста жирным шрифтом
доброго времени суток. Пишу программу тестирования, и хотелось бы чтобы после вопроса ответ выделялся жирным шрифтом. Но никак не могу сделать это. Вот собственно код снизу. Хотел выкласть в...
Отображение кол-ва часов Программирование Android
package com.workplz.theappitself; import java.util.Calendar; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class...
Программирование Android Не запускается приложение http://www.cyberforum.ru/android-dev/thread838852.html
Код приложения: package com.workplz.theappitself; import java.util.Calendar; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; ...
Программирование Android Маштабирование мультитач Здравствуйте! Хотел спросить имеется фотография которая увеличивается с центра экрана! расположение экрана setBounds(100, 50, image.getIntrinsicWidth(), image.getIntrinsicHeight()); Есть какие... подробнее

Показать сообщение отдельно
Flash_8
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 3

Отправка POST запроса серверу - Программирование Android

16.04.2013, 15:55. Просмотров 4793. Ответов 7
Метки (Все метки)

Здравствуйте. Пишу приложение для Android, которое получает данные о местонахождении и отправляет их на Web-сервер.

Данные о местонахождении получаю нормально. А вот при отправке данных на сервер возникает проблема: на сервер ничего не приходит.

Подскажите в чём проблема!

Заранее спасибо! )

Функция передачи - public static void sendData.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
 package com.arish;
 
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.security.KeyStore;
import java.security.PublicKey;
 
import javax.net.ssl.HttpsURLConnection;
 
import org.apache.http.HttpConnection;
 
import android.app.Activity;
import android.app.ProgressDialog;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Window;
import android.widget.TextView;
 
 
public class GPSTestAction extends Activity implements LocationListener{
    
    private LocationManager myManager;
    
    public static    String res;
 
     static String ouTxt=" Server is unavailable.\n\n Check access to the Internet.";
     static String errorTxt="\nProgram error !\nRestart the program please.\n";
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        
        
        
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        sendData("http://my-gps-monitoring.ru/upload.php", "OK!");        
        
        //Связываем менеджер и сервис
        myManager = (LocationManager) getSystemService(LOCATION_SERVICE);
        //Назначаем слушателя
        myManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
        
    }
 
    public void onLocationChanged(Location location) {
    
    // TODO Auto-generated method stub
        TextView tx = (TextView) findViewById(R.id.tv1);
                
          ProgressDialog progressDialog;
          Handler progressHandler;
          String resultStr = new String(""); 
          
          sendData("http://www.my-gps-monitoring.ru/upload.php", "OK!");
              
         
          tx.setText("88Широта: "    + location.getLatitude()  + "\nДолгота: " + location.getLongitude() + 
                   "\nСкорость: " + location.getSpeed() + "\n" + "\n" + ouTxt );
  }
    
    public static void sendData (final String serverAddress, final String myString)
    {
        Runnable r = new Runnable() {
            public void run() {
                
                      StringBuffer requestBody = new StringBuffer();
                      
 
 
                      try {
                          URLConnection connection = null;
                          URL url = new URL(serverAddress);
                          connection = url.openConnection();
                          HttpURLConnection httpConnection = (HttpURLConnection) connection;
                          httpConnection.setRequestMethod("POST");
                          httpConnection.setUseCaches(false);
                          httpConnection.setDoOutput(true);
                          httpConnection.setDoInput(true);
                          httpConnection.setRequestProperty("Host", "igb.agri.gov.il");
                          httpConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2");
                          httpConnection.setRequestProperty("Accept", "text/html, application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                        
 
                          //httpConnection.setRequestProperty("Content-Length", String.valueOf(myString)); //              
                          httpConnection.setRequestProperty("Accept-Language","he, utf-8;");//
                          httpConnection.setRequestProperty("Accept-Charset","utf-8"); //
                          
                          httpConnection.setRequestProperty("Accept-Encoding", "gzip, deflate");
                          httpConnection.setRequestProperty("DNT", "1");
                          httpConnection.setRequestProperty("Referer", "http://igb.agri.gov.il/");
                          httpConnection.setRequestProperty("Host", "igb.agri.gov.il");
                          httpConnection.setRequestProperty("Connection", "keep-alive");
                          httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                          requestBody.append( myString ); //добавление моих данных к запросу Post
                          // соединение
                          httpConnection.connect();
                          // отправка запроса
                          DataOutputStream dataOS = new DataOutputStream( httpConnection.getOutputStream());
                          dataOS.writeUTF(myString.toString()); 
                   
                          dataOS.writeUTF(myString.toString());
                          dataOS.flush();
                          dataOS.close();
                  
                  
                          // получение ответа сервера
                          int responseCode = httpConnection.getResponseCode();
                          if (responseCode == 200) { // если все прошло нормально(200), получаем результат
                              InputStream in = httpConnection.getInputStream();
                              InputStreamReader isr = new InputStreamReader(in, "UTF-8");
                              StringBuffer data = new StringBuffer();
                              int c;
                              while ((c = isr.read()) != -1) {  data.append((char) c);  }
                              
                              
                                                          ouTxt = new String(data.toString());
                          }  else  {                        ouTxt = "Server is unavailable.\nPlease try again."; }
                      } catch (MalformedURLException e) { ouTxt = errorTxt+"MalformedURLException:" + e.getMessage(); }
                        catch (IOException e) {              ouTxt = errorTxt+"IOException:" + e.getMessage(); Log.e("ERROR", e.getMessage());
                      } catch (Exception e) {             ouTxt = errorTxt+"Exception:" + e.getMessage();  }
                      requestBody = null;
                      System.gc();
                  };
            }; 
            new Thread(r).start();
 
    }
 
}

Вот код сервера

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
$filename = "datafile.txt";
 
 
$f = fopen($filename,"a");
printf($f,"Data received @ ".date(DATE_RFC822));
printf($f,"\n");
printf($f,'First Name:['.$_POST['MyString'].']');
print('First Name:['.$_POST['MyString'].']');
 
printf($f,"\n");
 
fclose($f);
print "SUCCESS";
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru