Возникла проблема с запросом POST в Android - PullRequest
0 голосов
/ 25 февраля 2020

Возникли проблемы с моим любимым проектом прямо сейчас. Я выполнял все запросы GET в своем приложении, которые до сих пор без проблем подключались к моему веб-сервису. Мне нужно наконец-то ПОСТАВИТЬ некоторые данные, хотя я не уверен, что приложение отправляет что-либо. Что касается WebService, я не вижу ничего в журналах, даже сбой соединения. Я попытался построить это около 100 способов на данный момент и убедился, что я могу заставить конечную точку работать через PostMan. Может кто-нибудь помочь мне понять, что происходит не так? Мой код делает это "сделано с Asyn c!" журнал, но кажется, что он никогда не попадает на сервер.


import android.os.AsyncTask;
import android.util.Log;

import java.io.DataOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class UserWebservice extends AsyncTask<Void, Void, Void> {
    private static final String TAG = UserWebservice.class.getSimpleName();
    private String username;
    private String hashedPassword;

    public UserWebservice(String username, String hashedPassword) {
        this.username = username;
        this.hashedPassword = hashedPassword;
    }

    @Override
    protected Void doInBackground(Void... params) {
        login();
        return null;
    }

    public void login() {
        String jsonString = "{\"username\":\"" + username + "\", \"hashedPassword\":\"" + hashedPassword + "\"}";

        try {
            URL url = new URL("http://ipaddress/appname/resourcename");
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/json");
            connection.setRequestProperty("Accept","application/json");
            connection.setReadTimeout(10000);

            connection.connect();

            DataOutputStream os = new DataOutputStream(connection.getOutputStream());
            os.writeBytes(URLEncoder.encode(jsonString, "UTF-8"));

            os.flush();
            os.close();

            connection.disconnect();
            Log.d(TAG, "done with async! ");
        } catch (Exception e) {
            Log.d(TAG, "POST: exception message: " + e.getMessage());
            Log.d(TAG, "POST: exception string: " + e.toString());
            Log.d(TAG, "POST: exception: " + e.toString());
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...