获取请求头数据
* 方法:
* (*)String getHeader(String name):通过请求头的名称获取请求头的值,name为请求头,不区分大小写
* Enumeration<String> getHeaderNames():获取所有的请求头名称,Enumeration可以当做迭代器使用
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Enumeration;
@WebServlet("/ServletDemo05")
public class ServletDemo05 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Enumeration<String> headerNames = request.getHeaderNames();
//获取所有请求头名称
while(headerNames.hasMoreElements()){
String s = headerNames.nextElement();
System.out.print(s+"---");
String header = request.getHeader(s);
System.out.println(header);
}
//获取浏览器信息
String header = request.getHeader("User-Agent");
if(header.contains("Chrom")){
System.out.println("谷歌浏览器。。。");
}else if(header.contains("Firefox")){
System.out.println("火狐浏览器");
}
//获取Referer信息
String referer = request.getHeader("Referer");
System.out.println(referer);
if (referer != null){
if (referer.contains("/servlet")){
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("你是我兄弟");
}
else{
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("哦吼,你是谁啊,别来无恙");
}
}
}
}
测试盗链的方法:
https://v.youku.com/v_show/id_XNDU3NjE0NTA4NA==.html?spm=a2hzp.8244740.0.0
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
</head>
<body>
<!--<form action="demo2" method="get">-->
<form action="ServletDemo05" method="get">
<input name="username">
<input type="submit" value="提交">
<a href="/servlet/ServletDemo05">测试盗链</a>
</form>
</body>
</html>