今天遇到一个特别奇怪的问题:
在浏览器地址栏上写接口地址,浏览器可以返回想要的数据,但是用java调用接口时,就会返回一个json 表示没有查到数据。
结果是因为这个 接口要用get 方法调用,而我用的post方法调用的。
给出 get方法 调用接口的代码
String result = "";
String path = "http://shaDiaoJieKou";
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//get请求
conn.setRequestMethod("GET");
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
conn.setUseCaches(false);
conn.connect();
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str = "";
while ((str = br.readLine()) != null) {
result += str;
}
JSONObject json = new JSONObject(result);
System.out.println(json.toString());
is.close();
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return result;