HTTP GET 请求返回 400 响应码
HTTP GET request returning 400 response code
我正在为几个项目开发一个简单的 API,但是当我从应用程序发出 GET 请求时,它 returns 响应代码为 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;
}
我四处寻找我做错了什么,没有发现任何问题,所以如果您发现任何问题,请随时告诉我,再次感谢!
我认为问题出在您的 URL 上。您应该对这部分进行编码:
"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"));
我正在为几个项目开发一个简单的 API,但是当我从应用程序发出 GET 请求时,它 returns 响应代码为 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;
}
我四处寻找我做错了什么,没有发现任何问题,所以如果您发现任何问题,请随时告诉我,再次感谢!
我认为问题出在您的 URL 上。您应该对这部分进行编码:
"SELECT
name
,username
,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"));