ANDROID HttpURLConnection 总是使用 GET
ANDROID HttpURLConnection always uses GET
我正在 android 工作室开发一个应用程序,我使用 HttpURLConnection
进行 Web 服务调用。虽然 class 在我调用它时总是使用 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()
。
我正在 android 工作室开发一个应用程序,我使用 HttpURLConnection
进行 Web 服务调用。虽然 class 在我调用它时总是使用 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()
。