我在这里查看文档:http://docs.oracle.com/javase/7/docs/api/java/net/URLConnection.html

我没有看到将请求标记为POST方法的选项。我希望看到.setRequestMethod("POST");之类的东西。我在看错误的文档吗?

我正在使用Android 4.2和Java 1.6。尽管我不确定javase/1.4.2是否是我应该寻找的。

URL url = new URL(this.getUrl());
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length));
connection.setUseCaches (false);

最佳答案

您需要使用HTTPURLConnection而不是URLConnection

HTTPURLConnection具有setRequestMethod

例:

HttpURLConnection connection = (HttpURLConnection) url.openConnection();


注意:总是最好使用最新的javadoc而不是旧版本,1.4是相当旧的Java版本。

功劳归于Luigi R. Viggiano

上面我的回答仅涉及如何访问setRequestMethod。如果您不想使用setRequestMethod而是实现POST(如Luigi所建议),则可以忽略调用
setRequestMethod并只需设置setDoOutput(true)。阅读此tutorial以获得更多信息。

10-07 20:46