如何在java中发送http请求?

如何在java中发送http请求?,java,android,Java,Android,我将此方法添加到MainActivity.java中 但是我在静态方面遇到了一个错误:内部类不能有静态declatarian protected static String excutePost(String targetURL, String urlParameters) { HttpURLConnection connection = null; try { //Create connection

我将此方法添加到MainActivity.java中 但是我在静态方面遇到了一个错误:内部类不能有静态declatarian

protected  static String excutePost(String targetURL, String urlParameters) {
            HttpURLConnection connection = null;
            try {
                //Create connection
                URL url = new URL(targetURL);
                connection = (HttpURLConnection)url.openConnection();
                connection.setRequestMethod("POST");
                connection.setRequestProperty("Content-Type",
                        "application/x-www-form-urlencoded");

                connection.setRequestProperty("Content-Length",
                        Integer.toString(urlParameters.getBytes().length));
                connection.setRequestProperty("Content-Language", "en-US");

                connection.setUseCaches(false);
                connection.setDoOutput(true);

                //Send request
                DataOutputStream wr = new DataOutputStream(
                        connection.getOutputStream());
                wr.writeBytes(urlParameters);
                wr.close();

                //Get Response
                java.io.InputStream is = connection.getInputStream();
                BufferedReader rd = new BufferedReader(new java.io.InputStreamReader(is));
                StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+
                String line;
                while((line = rd.readLine()) != null) {
                    response.append(line);
                    response.append('\r');
                }
                rd.close();
                return response.toString();
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            } finally {
                if(connection != null) {
                    connection.disconnect();
                }
            }
        }
我可以删除静态,然后我就没有错误了。 但是从现在起,我在哪里调用这个方法呢?从onCreate内部? 已尝试,但在键入excute时它不存在…在onCreate中,它不存在无法调用它


我如何使用这个方法?我应该把什么作为urlParameters呢?

保存“excutePost”的外部类是一个内部类,因此它不能包含静态方法。您可以做的是将外部类移动到一个单独的文件中,并使其非静态-这将解决您的问题。

您需要发布整个代码。到目前为止,您只向我们展示了一种方法(粗略地看,它看起来是正确的)。这是一个非常易于使用的HTTP请求库。这比HttpURLConnection好得多