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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
PYPS
51 / 50 / 7
Регистрация: 12.07.2011
Сообщений: 542
Завершенные тесты: 3
#1

POST Запрос - Программирование Android

12.03.2014, 15:59. Просмотров 1655. Ответов 13
Метки нет (Все метки)

подскажите что здесь не так, ошибка возникает на строке

Java
1
HttpResponse responsePOST = client.execute(post);





Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 public void GET(){
        try {
            HttpClient client = new DefaultHttpClient();  
            String postURL = "http://777.77.7.77/test/test2";
            HttpPost post = new HttpPost(postURL); 
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("user", "Vasya"));
                params.add(new BasicNameValuePair("pass", "12345"));
                UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
                post.setEntity(ent);
               HttpResponse responsePOST = client.execute(post);
                HttpEntity resEntity = responsePOST.getEntity();  
                if (resEntity != null) {    
                    Log.i("RESPONSE",EntityUtils.toString(resEntity));
                }
        } catch (Exception e) {
            Toast toast = Toast.makeText(getApplicationContext(), 
                    e.toString(),
                    Toast.LENGTH_SHORT);
            e.printStackTrace();
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 15:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос POST Запрос (Программирование Android):

Post запрос - Программирование Android
Как отправить POST запрос на java?

POST запрос - Программирование Android
Существует активити &quot;Register&quot;, содержащий несколько элементов edittext. Пытаюсь передать текст из них в другой класс &quot;RestClient&quot;, чтобы...

post запрос - Программирование Android
public String postData() { String str = null; HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost =...

Post запрос - Программирование Android
Как отправить Post запрос и принять ответ сервера ? Exlipce

ANDROID и POST запрос - Программирование Android
Если честно я не знал в какой раздел лучше написать так как моя задача затрагивает несколько областей программирования. Если что извините...

POST - запрос на сервер - Программирование Android
Суть задачи: при нажатии на кнопку пост-запросом отправляется переменная со значением. Проблема: при нажатии на кнопку приложение...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
12.03.2014, 16:13 #2
Как я понял запрос выполняется в UI-потоке, а нужно вынести в отдельный, например с использованием AsyncTask http://developer.android.com/referen...AsyncTask.html
PYPS
51 / 50 / 7
Регистрация: 12.07.2011
Сообщений: 542
Завершенные тесты: 3
12.03.2014, 16:34  [ТС] #3
т.е в Java нельзя при запуске приложения вызвать просто функцию которая отправляет запрос?
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
12.03.2014, 16:44 #4
В Android нельзя, все тяжелые операции надо выносить в отдельный поток. Можно писать AsyncTask самому, а можно использовать готовые решения, например http://habrahabr.ru/post/188860/
glnix
14 / 14 / 5
Регистрация: 08.04.2013
Сообщений: 75
13.03.2014, 09:48 #5
http://code.google.com/p/android-query/
Попробуйте =)
PYPS
51 / 50 / 7
Регистрация: 12.07.2011
Сообщений: 542
Завершенные тесты: 3
13.03.2014, 09:50  [ТС] #6
Не пойму с чем связанна ошибка
org.apache.http.conn.
HttpHostConnectException:Connection to refused
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
13.03.2014, 09:53 #7
А в AndroidManifest добавил <uses-permission android:name="android.permission.INTERNET"/> ?
glnix
14 / 14 / 5
Регистрация: 08.04.2013
Сообщений: 75
13.03.2014, 09:58 #8
Цитата Сообщение от PYPS Посмотреть сообщение
Не пойму с чем связанна ошибка
org.apache.http.conn.
HttpHostConnectException:Connection to refused
Покажите полный код подключения с адресом.
Хэдеры пробовали проставить?
PYPS
51 / 50 / 7
Регистрация: 12.07.2011
Сообщений: 542
Завершенные тесты: 3
13.03.2014, 10:12  [ТС] #9
Да точно не написал. Добавил строчку, и получил NetworkOnMainThreadException (Очередной тупик)

как я понял можно обойтись и без AsyncTask но при этом будет блокироваться главный поток(UI), хочу попробовать отладить без AsyncTasc
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
13.03.2014, 10:18 #10
NetworkOnMainThreadException означает что выполняются сетевые операции в главном потоке. Это недопустимо. http://mobiledevtuts.com/android/and...ctask-example/ http://stackoverflow.com/questions/7...post-asynctask вот навскидку простые примеры пост запроса в AsyncTask
PYPS
51 / 50 / 7
Регистрация: 12.07.2011
Сообщений: 542
Завершенные тесты: 3
14.03.2014, 11:08  [ТС] #11
Знаю что уже дали много ссылок по которым давно уже пора разобраться но что то не складывается у меня...где я опять на косячил? ошибка на 43 строке...
Java
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
package com.example.post_zapros;
 
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends Activity {
 
    Button button1;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
     public void buttonShowToast_Click(View v)
    {
       new MyTask().execute("http...");
    }
     
     class MyTask extends AsyncTask<String, Void, Void> {
            
            @Override
            protected Void doInBackground(String... params)
            {
                postData(params[0]);
                return null;
            }
            public void postData(String valueIWantToSend) {
                
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(valueIWantToSend);
     
                try 
                {
                    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                    nameValuePairs.add(new BasicNameValuePair("user", "login"));
                    nameValuePairs.add(new BasicNameValuePair("password", "pass"));
                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    HttpResponse response = httpclient.execute(httppost);
                }
                catch (ClientProtocolException e) 
                {
                    e.printStackTrace();
                } 
                catch (IOException e) 
                {
                    e.printStackTrace();
                }
            }
     }
}
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
14.03.2014, 11:19 #12
А в чем ошибка? Приложи стектрейс
PYPS
51 / 50 / 7
Регистрация: 12.07.2011
Сообщений: 542
Завершенные тесты: 3
14.03.2014, 12:58  [ТС] #13
Вот что за ошибка...

Connection to http... refused

только не понятно почему отказано, адрес правильный пароль тоже правильный ссылка рабочая...
я был не прав сказав что ошибка в 43 строчке.
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
14.03.2014, 14:08 #14
Может это поможет http://stackoverflow.com/questions/9...ection-refused
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2014, 14:08
Привет! Вот еще темы с ответами:

Не передается POST запрос - Программирование Android
Надо передать POST запрос по адресу http://192.168.43.199/andr/request.php в файле request.php такой код: &lt;?php echo $_POST; ...

Retrofit 2 post запрос - Программирование Android
Делал реализацию клиент-сервер, в андроид при помощи retrofit. и встретился с проблемой как реализовать POST запрос. ( GET запрос у меня...

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

Потоки и post запрос - Программирование Android
Добрый вечер всем. Уже два дня не могу разобраться с выполнением post запроса на андроиде. Перечитал кучу статей. Знаю что с андроида 2.3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.03.2014, 14:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru