Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (8)

Наибольший вклад в теги

Все теги (49)

Лучшие ответы пользователя

Все ответы (15)
  • Как отправить POST запрос с помощью HttpURLConnection?

    @Wolfak Автор вопроса
    Разобрался, может кому пригодится:
    class SendLoginData extends AsyncTask<Void, Void, Void> {
    
            String resultString = null;
    
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
            }
    
            @Override
            protected Void doInBackground(Void... params) {
                try {
                    String myURL = "http://site.ru/";
                    String parammetrs = "param1=1&param2=XXX";
                    byte[] data = null;
                    InputStream is = null;
    
                    try {
                        URL url = new URL(myURL);
                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                        conn.setRequestMethod("POST");
                        conn.setDoOutput(true);
                        conn.setDoInput(true);
    
                        conn.setRequestProperty("Content-Length", "" + Integer.toString(parammetrs.getBytes().length));
                        OutputStream os = conn.getOutputStream();
                        data = parammetrs.getBytes("UTF-8");
                        os.write(data);
                        data = null;
    
                        conn.connect();
                        int responseCode= conn.getResponseCode();
    
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
    
                        if (responseCode == 200) {
                            is = conn.getInputStream();
    
                            byte[] buffer = new byte[8192]; // Такого вот размера буфер
                            // Далее, например, вот так читаем ответ
                            int bytesRead;
                            while ((bytesRead = is.read(buffer)) != -1) {
                                baos.write(buffer, 0, bytesRead);
                            }
                            data = baos.toByteArray();
                            resultString = new String(data, "UTF-8");
                        } else {
                        }
    
    
    
                    } catch (MalformedURLException e) {
    
                        //resultString = "MalformedURLException:" + e.getMessage();
                    } catch (IOException e) {
    
                        //resultString = "IOException:" + e.getMessage();
                    } catch (Exception e) {
    
                        //resultString = "Exception:" + e.getMessage();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
    
            @Override
            protected void onPostExecute(Void result) {
                super.onPostExecute(result);
                if(resultString != null) {
                    Toast toast = Toast.makeText(getApplicationContext(), resultString, Toast.LENGTH_SHORT);
                    toast.show();
                }
    
            }
        }
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (69)