有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java HTTP GET请求返回400响应代码

我正在为一些项目开发一个简单的API,但是当我从应用程序发出GET请求时,它会返回400的响应代码。如果您能帮助解决此问题,我们将不胜感激

我的代码:

URL oracle = new URL(URL+"SELECT `name`, `username`, `email`, `position`, `status` FROM `"+pl.APIKEY+"` WHERE 1");
            HttpURLConnection con = (HttpURLConnection) oracle.openConnection();
            con.setRequestProperty("Content-Type", "text/plain; charset=utf-8");
             con.setRequestMethod("GET");
             con.setDoOutput(false);
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(con.getInputStream()));


            String inputLine;
            int size = 0;
            String position=null ,user = null,email= null,name= null;
            int status = 0;
            while (true){
                inputLine = in.readLine();
                if(inputLine == null){
                    break;
                }
                System.out.println(inputLine);
                String[] input = inputLine.split("`");
                user = input[0];
                email = input[1];
                name = input[2];
                position= input[3];
                status = 0;
             }

我已经到处寻找我做错了什么,但没有发现任何东西,所以如果你看到任何东西,请随时说出来,再次感谢


共 (1) 个答案

  1. # 1 楼答案

    我想问题出在你的网址上。你应该对这部分进行编码:

    "SELECT name, username, email, position, status FROM "+pl.APIKEY+" WHERE 1"

    为此使用URLEncoder,例如:

    URL oracle = new URL(URL+ URLEncoder.encode("SELECT `name`, `username`, `email`, `position`, `status` FROM `"+pl.APIKEY+"` WHERE 1"), "UTF-8"));