- 1. # Java如何获取指定URL页面所提交的内容? 代码如下,通过浏览器访问返回的是“123”,但是后台输出却是一个页面,怎么才能通过访问“http://localhost:8080/test/index.jsp”后台也返回“123”? @RequestMapping("/fs") @ResponseBody public String fs(String user){ return "123"; } public static void main(String[] args) { String path = "http://localhost:8080/test/index.jsp"; String a =interfaceUtil(path,""); }
public static String interfaceUtil(String path, String date){
String str = "";
try {
URL url = new URL(path);
//打开和url之间的连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
PrintWriter out = null;
//设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
//设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入
conn.setDoOutput(true);
conn.setDoInput(true);
//conn.setInstanceFollowRedirects(true);
//获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
//发送请求参数即数据
out.print(date);
//缓冲数据
out.flush();
out.close();
//获取URLConnection对象对应的输入流
InputStream is = conn.getInputStream();
//构造一个字符流缓存
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
str+=line;
}
//关闭流
is.close();
//断开连接
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
调用该方法得到一个页面: