我正在android studio中开发一个应用程序,并且我使用HttpURLConnection进行网络服务调用。尽管该类在调用时始终使用GET,但即使艰难,我也将其设置为POST。我什至把它放在POST上,以确保它会使用该方法。

URL url = new URL(Activity.this.getString(R.string.ws));
urlConn = (HttpURLConnection) url.openConnection();
urlConn.setRequestMethod("POST");
urlConn.setDoOutput(true);
urlConn.addRequestProperty("Content-Type", "application/json");
urlConn.addRequestProperty("Cache-Control", "no-cache");
urlConn.addRequestProperty("Accept", "application/json");
urlConn.addRequestProperty("Authorization", "Bearer " + fileHelper.getPropertyFromSharedPreferences(getString(R.string.key_token)));
urlConn.connect();


其他人以前有这个问题吗?以及如何解决?

PS。我也尝试过OKHTTP,但是还是一样的问题

编辑:

我发现该方法将始终为GET的原因是因为当我调用setDoOutput时,它不会更改值,即使我这样做也不会

urlConn.setDoOutput(!urlConn.getDoOutput);

最佳答案

不要使用urlConn.connect();。请改用urlConn.getOutputStream()

08-17 21:34