我在这里查看文档: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以获得更多信息。