想要在java代码里调用一个web接口,该接口通过postman测试是可以成功的,如图:
但是以如下方式写在java代码里却无法成功,请问有人知道是为什么吗?
String path="http://192.168.1.93:9000/offer?calip=192.168.1.20&bmcip=192.168.1.11";
String data="calip=192.168.1.20&bmcip=192.168.1.11";
try {
URL url = new URL(path);
//打开和url之间的连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//请求方式,默认为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.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
//获取URLConnection对象对应的输出流
PrintWriter out = new PrintWriter(conn.getOutputStream());
//发送请求参数即数据
out.print(data);
//缓冲数据
out.flush();
out.close();
//获取URLConnection对象对应的输入流
InputStream is = conn.getInputStream();
//构造一个字符流缓存
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str = "";
while ((str = br.readLine()) != null) {
System.out.println("from ipmi"+str);
}
//关闭流
is.close();
conn.disconnect();
System.out.println("发送结束");
} catch (Exception e) {
e.printStackTrace();
}