Data acquisition request header
Method:
the Enumeration getHeaderNames (): Get all request header name
String getHeader (String name): Gets the value of the request header request header by name
package com.web.request;
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.IOException;
import java.util.Enumeration;
/**
* @ClassName: ${NAME}
* @Description: TODO
* @author: Doge_fang
* @date: 2020/3/3 18:50
*/
@WebServlet("/requestDemo2")
public class RequestDemo2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.获取所有请求头名称
Enumeration<String> headerNames = request.getHeaderNames();
//2.遍历
while(headerNames.hasMoreElements()){
String name = headerNames.nextElement();
//根据名称获取请求头的值
String header = request.getHeader(name);
System.out.println(name + "-----" + header);
}
}
}
Will get the user-agent request header data:
package com.web.request;
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.IOException;
/**
* @ClassName: ${NAME}
* @Description: TODO
* @author: Doge_fang
* @date: 2020/3/3 19:01
*/
@WebServlet("/requestDemo3")
public class RequestDemo3 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取请求头user-agent数据
String header = request.getHeader("user-agent");
//判断浏览器版本
if(header.contains("Chrome")){
System.out.println("是谷歌");
}else if(header.contains("Firefox")){
System.out.println("是火狐");
}
}
}
Will get the referer request header data:
package com.web.request;
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.IOException;
/**
* @ClassName: ${NAME}
* @Description: TODO
* @author: Doge_fang
* @date: 2020/3/3 19:11
*/
@WebServlet("/requestDemo4")
public class RequestDemo4 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//演示获取请求头数据:referer
String referer = request.getHeader("referer");
System.out.println(referer);
//防盗链
if(referer != null){
if(referer.contains("/test")){
//是从本网站点击电影链接
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("马上为您播放电影");
}else {
//盗链,盗取本网站电影链接
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("无法播放,请上正规网站观看");
}
}
}
}