HttpURLConnection:结果 json-code 提示页面不存在 (404),即使 url 是正确的
HttpURLConnection: resulting json-code suggests page doesnt exist (404), even when url is correct
我正在尝试使用 php 文件从 MySQL 数据库获取数据。我的java代码如下:
HttpURLConnection conn = null;
URL url = null;
try {
url = new URL(getURL);
System.out.println(getURL);
conn = (HttpURLConnection)url.openConnection();
//conn.setReadTimeout(READ_TIMEOUT);
//conn.setConnectTimeout(CONNECTION_TIMEOUT);
conn.setRequestMethod("POST");
// setDoInput and setDoOutput method depict handling of both send and receive
conn.setDoInput(true);
conn.setDoOutput(true);
// Append parameters to URL
Uri.Builder builder = new Uri.Builder();
builder.appendQueryParameter("user", USER);
builder.appendQueryParameter("pass", PASS);
builder.appendQueryParameter("server", SERVER);
builder.appendQueryParameter("db", DB);
String query = builder.build().getEncodedQuery();
// Open connection for sending data
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write(query);
writer.flush();
writer.close();
os.close();
conn.connect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
int response_code = conn.getResponseCode();
// Check if successful connection made
if (response_code == HttpURLConnection.HTTP_OK) {
// Read data sent from server
InputStream input = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
result = reader.readLine();
return(result);
}else{
return("unsuccessful");
}
当我使用浏览器访问我的 url(隐藏在变量 getURL 中)时,我在屏幕上看到 json 字符串,正如它应该的那样。但是,当我输出 reader 的内容时(上面的代码只占用第一行,但是通过调整代码我当然可以输出更多)它显示了网站的 html-code显示 404 - 页面不存在消息。
有人知道哪里出了问题吗?是的,我确实检查了拼写错误。
好吧,我不知道发生了什么,因为我没有改变任何东西。但是突然间它开始工作了?!?
我想一定是服务器端的东西...
感谢您的意见和分享您的想法!
我正在尝试使用 php 文件从 MySQL 数据库获取数据。我的java代码如下:
HttpURLConnection conn = null;
URL url = null;
try {
url = new URL(getURL);
System.out.println(getURL);
conn = (HttpURLConnection)url.openConnection();
//conn.setReadTimeout(READ_TIMEOUT);
//conn.setConnectTimeout(CONNECTION_TIMEOUT);
conn.setRequestMethod("POST");
// setDoInput and setDoOutput method depict handling of both send and receive
conn.setDoInput(true);
conn.setDoOutput(true);
// Append parameters to URL
Uri.Builder builder = new Uri.Builder();
builder.appendQueryParameter("user", USER);
builder.appendQueryParameter("pass", PASS);
builder.appendQueryParameter("server", SERVER);
builder.appendQueryParameter("db", DB);
String query = builder.build().getEncodedQuery();
// Open connection for sending data
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write(query);
writer.flush();
writer.close();
os.close();
conn.connect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
int response_code = conn.getResponseCode();
// Check if successful connection made
if (response_code == HttpURLConnection.HTTP_OK) {
// Read data sent from server
InputStream input = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
result = reader.readLine();
return(result);
}else{
return("unsuccessful");
}
当我使用浏览器访问我的 url(隐藏在变量 getURL 中)时,我在屏幕上看到 json 字符串,正如它应该的那样。但是,当我输出 reader 的内容时(上面的代码只占用第一行,但是通过调整代码我当然可以输出更多)它显示了网站的 html-code显示 404 - 页面不存在消息。
有人知道哪里出了问题吗?是的,我确实检查了拼写错误。
好吧,我不知道发生了什么,因为我没有改变任何东西。但是突然间它开始工作了?!?
我想一定是服务器端的东西...
感谢您的意见和分享您的想法!