Задать вопрос

Как правильно отправить POST запрос на Android устройстве?

Доброго времени суток.Мне нужно отправить POST запрос на сервер и вроде все понятно,но проблема в том что все данные которые мне скинули для него так это только вот эта картинка:
06e0c5d3dfe84843b8d35a616d06fda4.jpg
Я сначала пытался реализовать это обычным способом:
HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("http://televizera.net/sms/");
        try {
            StringEntity stringEntity = new StringEntity("act=createOrder&phone=79154508472&place=1&pays=1m2");
           post.setEntity(stringEntity);
            post.setHeader("Content-type", "application/xhtml+xml");
  HttpResponse response = client.execute(post);
            BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            line = "";
            while ((line = rd.readLine()) != null) {
                line += line;
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

Но после оказалось что приложение просто вылетает,после пытался сделать все параметры как ключ:
HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("http://televizera.net/sms/");
     try {List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair(4);
            nameValuePairs.add(new BasicNameValuePair("act","createOrder"));
            nameValuePairs.add(new BasicNameValuePair("phone","06620"));
            nameValuePairs.add(new BasicNameValuePair("place","1"));
            nameValuePairs.add(new BasicNameValuePair("pays","1m2"));
            post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"UTF-8"));
 HttpResponse response = client.execute(post);
            BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            line = "";
            while ((line = rd.readLine()) != null) {
                line += line;
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

Но так же выяснилось что приложение ведет себя так же.Параметры все введены правильно,но все равно запрос не проходит,не могу понять почему,вроде 1 способ был правильным,но все же он не работает,причем сервер не пытается ничего вернуть,а на стадии отсылки самого запроса просто вылетает с приложения.Подскажите что может быть не так у меня в коде или в чем может быть проблема?
  • Вопрос задан
  • 3579 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
itvdonsk
@itvdonsk
Android Developer
Какую ошибку при вылете выдает? Подозреваю что "NetworkOnMainThreadException"
Ответ написан
Error_403_Forbidden
@Error_403_Forbidden
Не забыл в манифесте прописать?
uses-permission android:name="android.permission.INTERNET"
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы