获得 HTML 响应而不是 Json 响应
Getting HTML response instead of Json response
我收到 HTML 响应而不是 JSON 响应。我正在使用以下代码,并且收到 HTML 作为 bf.readLine() 的响应。以下代码是否有任何问题,或者这是 API 问题?
String uri = "http://192.168.77.6/Ivr_ABN_API/?id=" + mobile;
URL url;
Gson json = null;
try {
url = new URL(uri);
json = new Gson();
HttpURLConnection connection;
access_token = db.getAccessTokenFromDB();
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
System.out.println("URL:" + uri);
connection.setRequestProperty("Content-Type", "application/json");
int status = connection.getResponseCode();
resCode = Integer.toString(status);
System.out.println("status is " + status);
InputStream in = connection.getInputStream();
System.out.println("inputStreamer " + in);
BufferedReader bf = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
System.out.println("bf.readLine() - " + bf.readLine());
while ((output = bf.readLine()) != null) {
JSONObject obj = new JSONObject(output);
System.out.println("output is " + output);
resCode = obj.getString("resCode");
resDesc = obj.getString("COUNT");
}
也许尝试发送 header 接受:application/json
如果这不起作用,请查看 API 的文档,看看是否还有其他内容应该发送给 return json。
对于java
设置请求属性如下:
con.setRequestProperty("Accept","application/json")
它将解决您面临的问题。
我收到 HTML 响应而不是 JSON 响应。我正在使用以下代码,并且收到 HTML 作为 bf.readLine() 的响应。以下代码是否有任何问题,或者这是 API 问题?
String uri = "http://192.168.77.6/Ivr_ABN_API/?id=" + mobile;
URL url;
Gson json = null;
try {
url = new URL(uri);
json = new Gson();
HttpURLConnection connection;
access_token = db.getAccessTokenFromDB();
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
System.out.println("URL:" + uri);
connection.setRequestProperty("Content-Type", "application/json");
int status = connection.getResponseCode();
resCode = Integer.toString(status);
System.out.println("status is " + status);
InputStream in = connection.getInputStream();
System.out.println("inputStreamer " + in);
BufferedReader bf = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
System.out.println("bf.readLine() - " + bf.readLine());
while ((output = bf.readLine()) != null) {
JSONObject obj = new JSONObject(output);
System.out.println("output is " + output);
resCode = obj.getString("resCode");
resDesc = obj.getString("COUNT");
}
也许尝试发送 header 接受:application/json
如果这不起作用,请查看 API 的文档,看看是否还有其他内容应该发送给 return json。
对于java
设置请求属性如下:
con.setRequestProperty("Accept","application/json")
它将解决您面临的问题。