#代码
@RequestMapping("/bilibili")
public Object getBilibili(){
String url = “https://www.wenjuan.com/open/devdocument_v3_4_1”;
String result = “”;
BufferedReader in = null;
try {
URL reurl = new URL(url);
//创建连接
URLConnection urlConnection = reurl.openConnection();
// 设置通用的请求属性
/*
* Accept,浏览器端能够处理的内容类型。
* 例如: Accept: text/html 代表浏览器可以接受服务器回发的类型为 text/html
* 也就是我们常说的html文档。如果服务器无法返回text/html类型的数据,
* 服务器应该返回一个406错误(non acceptable)。
* 通配符 * 代表任意类型,例如 Accept: / 代表浏览器可以处理所有类型,
* (一般浏览器发给服务器都是发这个)。
* /
urlConnection.setRequestProperty(“Accept”,"/*");
/*
* Connection:浏览器与服务器的连接类型
* 例如:Connection: keep-alive 当一个网页打开完成后,
* 客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,
* 如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。
* 例如: Connection: close 代表一个Request完成后,
* 客户端和服务器之间用于传输HTTP数据的TCP连接会关闭。
* 当客户端再次发送Request,需要重新建立TCP连接。
* */
urlConnection.setRequestProperty("connection","keep-alive");
/*
* User-Agent,浏览器的用户代理字符串。告诉HTTP服务器,
* 客户端使用的操作系统和浏览器的名称和版本。我们上网登陆论坛的时候,
* 往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,
* 这往往让很多人感到很神奇,实际上,
* 服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息User-Agent请求报头域允许客户
* 端将它的操作系统、浏览器和其它属性告诉服务器。
* 例如: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA;
* .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)
* */
urlConnection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
//建立实际连接
urlConnection.connect();
//获得响应头文档
Map<String,List<String>> stringListMap = urlConnection.getHeaderFields();
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String line;
while ((line = in.readLine())!=null){
result += line;
System.out.println("【日志================================】"+line);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try{
if (in != null){
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}