精华内容
下载资源
问答
  • 获取请求的信息包括: 1.请求行:请求方式 请求URL/URI 协议版本 //获取请求行 String method=req.getMethod(); StringBuffer url=req.getRequestURL(); String uri=req.getRequestURI(); ...

    一、作用

    封存了当前请求的所有请求信息

    二、使用

    获取请求头的信息包括:

    1.请求行:请求方式 请求URL/URI 协议版本

    //获取请求行
    		     String method=req.getMethod();
    		     StringBuffer url=req.getRequestURL();
    		     String uri=req.getRequestURI();
    		     String scheme=req.getScheme();
    		     System.out.println("请求行:"+method+" "+uri+" "+scheme);

    2.请求头:键值对

     //获取请求头
    		     Enumeration enumeration=req.getHeaderNames();
    		     System.out.println("请求头:");
    		     while(enumeration.hasMoreElements()) {
    		    	 String name=(String)enumeration.nextElement();
    		    	 String value=req.getHeader(name);
    		    	 System.out.println(name+" "+value);
    		     }

    3.请求数据

      //获取请求实体
    		     req.getParameter("键名");       //返回指定的用户数据
    		     req.getParameterValues("键名"); //返回同键不同值的string数组,如前台页面的多选框
    		     req.getParameterNames();        //返回所有用户请求数据的枚举集合

     

    运行结果:

    请求行:GET /sx/s2 http
    请求头:
    host localhost:8080
    connection keep-alive
    cache-control max-age=0
    upgrade-insecure-requests 1
    user-agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
    accept text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    accept-encoding gzip, deflate, br
    accept-language zh-CN,zh;q=0.9
    

    注意:如果是URL则:完整的浏览器访问地址(http://localhost:8080/sx/s2

    注意:如果是URI则:虚拟项目名+对应的servlet名字(/sx/s2

    注意:获取请求实体数据的时候,无论是get方式还是post方式,都是用 req.getParameter("键名"); 

    展开全文
  • const routes = [ ... //协议头://host/query path: '/home', component: Home, meta: { title: '首页' }, children: [ { path: 'news', component: HomeNews }, { path: 'message', compon
    const routes = [
      {
        //协议头://host/query
        path: '/home',
        component: Home,
        meta: {
          title: '首页'
        },
        children: 
        [
          {
            path: 'news',
            component: HomeNews
          },
          {
            path: 'message',
            component: HomeMessage
          },
        ]
      },
    ]
    

    根据以上代码可知,在’/home’路由下有一个meta信息,注意要传递某些路由信息可以将其放在这里,然后获取其中包含了其title信息,那么我们如何在页面中获取这个title信息呢?打印一下this.$route可知

    consolo.log(this.$route)
    

    在这里插入图片描述
    可以看到,路’/home/news’下的meta中并没有任何信息,为什么?因为我们的meta信息是放在路由’/home’下的,那么难道’/home/news’身为子路由都不能显示’/home’下的信息?不是的,我们点开看看
    在这里插入图片描述
    点开matched,就能对应找到此路由下相关路由的信息而matched[0]就是第一个路由’/home’的相关信息,matched[1]就是子路由的信息也就是’/home/news’下的信息,再点开看看

    matched: Array(2)
    0:
    beforeEnter: undefined
    components: {default: {}}
    enteredCbs: {}
    instances: {default: VueComponent}
    matchAs: undefined
    meta: {title: "首页"}
    name: undefined
    parent: undefined
    path: "/home"
    props: {}
    redirect: undefined
    regex: /^\/home(?:\/(?=$))?$/i
    __proto__: Object
    1:
    beforeEnter: undefined
    components: {default: {}}
    enteredCbs: {}
    instances: {default: VueComponent}
    matchAs: undefined
    meta: {}
    name: undefined
    parent: {path: "/home", regex: /^\/home(?:\/(?=$))?$/i, components: {}, instances: {}, enteredCbs: {},}
    path: "/home/news"
    props: {}
    redirect: undefined
    regex: /^\/home\/news(?:\/(?=$))?$/i
    __proto__: Object
    length: 2
    __proto__: Array(0)
    meta: {}
    name: undefined
    params: {}
    path: "/home/news"
    query: {}
    __proto__: Object
    

    可以看到matched[0]中的meta是有我们设置的title信息的,那么怎么让match[1]有路由’/home/news’的信息呢?
    这么尝试一下,将routes中home下的news补充一个meta

        children: 
        [
          {
            path: 'news',
            component: HomeNews
          },
          {
            path: 'message',
            component: HomeMessage
          },
        ]
    

    在这里插入图片描述
    是不是在this.$route下都有了meta信息?,这个时候我们点开matched

    在这里插入图片描述
    没错,matched[1]下的meta中也有了我们设置的title

    展开全文
  • web开发之http协议

    2019-05-23 14:15:12
    获取请求信息:request.getHeader(“referer”); referer:代表请求地址从哪里来(应用场景:下载资源的时候) 非法链接 应用: 下载资源的时候----请求 xxxservlet(非法链接) 下载资源-----没有经过广告的跳转...

    请求信息:

    http协议
         http 1.1/1.0
    请求行 +请求头
         常见的请求头
    提交方式 uri:/xxxServlet     HTTP协议的版本
         常见的请求头
    referer:非凡链接
         判断如果当前referer为null || 不包含一些广告页面
    user-agent:当前浏览的类型:判断使用的浏览器类型
    host:http://localhost
    connection:heep-alive

    Http协议:请求头和响应头
    常使用的请求头:
    user-agent:当前浏览器的类型
    获取请求头信息:request.getHeader(“referer”);
    referer:代表请求地址从哪里来(应用场景:下载资源的时候)
    非法链接
    应用:

    1. 下载资源的时候----请求 xxxservlet(非法链接)
    2. 下载资源-----没有经过广告的跳转(非法链接)

    常见的响应头:
    响应头:loaction + status(302) -------进一步请求
    重定向:原理:location + 302
    请求转发:
    refresh:定时刷新:respones.setHeader(“refresh”,“秒数; //xxx.html”)*:设置响应头

    1. 调用service方法

    package com.github.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class RequestDemo1 extends HttpServlet {
    
        /**
         * servlet的服务方法
         */
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("调用了service方法。。。");
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    }
    
    

    在这里插入图片描述

    2. 判断用户当前使用的是那种浏览器

    package com.github.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    /**
     * 获取浏览器的类型
     */
    
    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 {
            // 全局解决乱码问题的方式
            response.setContentType("text/html;charset=utf-8");
    
            // 获取user-agent请求头
            // 获取那类型的浏览器
            String userAgent = request.getHeader("user-agent");
            // 返回值是一堆字符串:拼接
            System.out.println("userAgent:"+userAgent);
            // Chrome:谷歌浏览器类型
            // Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
            // Firefox:火狐浏览器类型
            // Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
    
            // 判断用户使用的是那种浏览器
            if (userAgent.contains("Trident")) {
                response.getWriter().write("当前使用:IE浏览器");
            } else if (userAgent.contains("Chrome")) {
                response.getWriter().write("当前使用:谷歌浏览器");
            } else if (userAgent.contains("Firefox")) {
                response.getWriter().write("当前使用:火狐浏览器");
            } else {
                response.getWriter().write("其他浏览器");
            }
        }
    }
    
    

    在这里插入图片描述
    在这里插入图片描述

    3. 非法链接,下载资源

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>广告页面</title>
    </head>
    <body>
    广告页面<br>
    <a href="/RequestDemo5">跳转到资源地址</a>
    </body>
    </html>
    

    在这里插入图片描述
    在这里插入图片描述

    package com.github;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class RequestDemo5 extends HttpServlet {
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // 设置编码
            response.setContentType("text/html;charset=utf-8");
            // 获取referer请求头
            String referer = request.getHeader("referer");
            System.out.println("referer:" + referer);
            // 直接访问下载:referer:null
    
            /*
             * 非法链接:
             * 1)直接访问下载资源地址:referer==null
             * 2)referer请求头中不包含广告页面 (!referer.contains("adv.html"))
             */
            if (referer==null || !referer.contains("adv.html")) {
                response.getWriter().write("您当前属于非法链接,请跳转<a href='/adv.html'>【首页】</a>");
            } else {
                response.getWriter().write("正在下载资源");
            }
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request,response);
        }
    }
    
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • //获取当前ipecho $_SERVER['SERVER_ADDR'];//获取当前服务器标识的字串,在响应请求时的头部中给出echo $_SERVER['SERVER_SOFTWARE'];//获取请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。echo ...
    //获取当前域名
    echo $_SERVER['HTTP_HOST'];
    echo $_SERVER['SERVER_NAME'];
    //获取当前ip
    echo $_SERVER['SERVER_ADDR'];
    //获取当前服务器标识的字串,在响应请求时的头部中给出
    echo $_SERVER['SERVER_SOFTWARE'];
    //获取请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
    echo $_SERVER['SERVER_PROTOCOL'];
    //当前正在执行脚本的文件名
    echo $_SERVER['PHP_SELF'];
    //获取来源网址,即点击来到本页的上页网址
    echo $_SERVER['HTTP_REFERER'];
    //获取当前域名的后缀
    echo $_SERVER['REQUEST_URI'];
    //获取当前文件的物理路径
    echo dirname(__FILE__);
    //获取当前文件的上一级物理路径
    echo dirname(__FILE__) . "/../"


    较全面的$_server:
    $_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 
    $_SERVER['REMOTE_ADDR'] //当前用户 IP 。 
    $_SERVER['REMOTE_HOST'] //当前用户主机名 
    $_SERVER['REQUEST_URI'] //URL
    $_SERVER['REMOTE_PORT'] //端口。 
    $_SERVER['SERVER_NAME'] //服务器主机的名称。 
    $_SERVER['PHP_SELF']//正在执行脚本的文件名 
    $_SERVER['argv'] //传递给该脚本的参数。 
    $_SERVER['argc'] //传递给程序的命令行参数的个数。 
    $_SERVER['GATEWAY_INTERFACE']//CGI 规范的版本。 
    $_SERVER['SERVER_SOFTWARE'] //服务器标识的字串 
    $_SERVER['SERVER_PROTOCOL'] //请求页面时通信协议的名称和版本 
    $_SERVER['REQUEST_METHOD']//访问页面时的请求方法 
    $_SERVER['QUERY_STRING'] //查询(query)的字符串。 
    $_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录 
    $_SERVER['HTTP_ACCEPT'] //当前请求的 Accept: 头部的内容。 
    $_SERVER['HTTP_ACCEPT_CHARSET'] //当前请求的 Accept-Charset: 头部的内容。 
    $_SERVER['HTTP_ACCEPT_ENCODING'] //当前请求的 Accept-Encoding: 头部的内容 
    $_SERVER['HTTP_CONNECTION'] //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。 
    $_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容。 
    $_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址。 
    $_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容。 
    $_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off 
    $_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名。 
    $_SERVER['SERVER_ADMIN'] #管理员信息 
    $_SERVER['SERVER_PORT'] #服务器所使用的端口 
    $_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串。 
    $_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径。 
    $_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。 
    $_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。 
    $_SERVER['PHP_AUTH_PW'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。 
    $_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型

    PHP判断是不是https协议:

    function is_HTTPS(){  //判断是不是https
                if(!isset($_SERVER['HTTPS']))  return FALSE;  
                if($_SERVER['HTTPS'] === 1){  //Apache  
                    return TRUE;  
                }elseif($_SERVER['HTTPS'] === 'on'){ //IIS  
                    return TRUE;  
                }elseif($_SERVER['SERVER_PORT'] == 443){ //其他  
                    return TRUE;  
                }  
                    return FALSE;  
       }  

    判断浏览器类型:
    <?php
    if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0")) 
    echo "Internet Explorer 8.0"; 
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0")) 
    echo "Internet Explorer 7.0"; 
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0")) 
    echo "Internet Explorer 6.0"; 
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3")) 
    echo "Firefox 3"; 
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2")) 
    echo "Firefox 2"; 
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome")) 
    echo "Google Chrome"; 
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari")) 
    echo "Safari"; 
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera")) 
    echo "Opera"; 
    else echo $_SERVER["HTTP_USER_AGENT"]; 
    ?>
     

    转载于:https://www.cnblogs.com/hjjun/p/7759956.html

    展开全文
  • 作用是服务器端获取到该的信息,然后可以解决浏览器的兼容问题 Referer:告诉服务器,我当前的请求从哪里来 作用防盗链,统计工作 请求空行 空行,用于分割post请求的请求和请求体的 请求体 封装pos
  • HTTP获取服务器资源

    2010-11-29 10:06:00
    在web应用程序中,获取服务器资源的方式是:发送Http请求,然后浏览器解析对应的...可以通过Http协议头的Content Type属性,告诉浏览器当前的资源属性。 关于Http header结构中Content Type属性 Content T...
  • HTTP协议相关的问题

    2018-07-17 10:18:04
    ... 1. 请求行 由三部分组成,请求方法、URL和协议版本,...获取资源,当前网络请求中,绝大部分使用的是GET方法。 HEAD 获取报文首部,但不返回报文实体主体部分。 主要用于确认URL的有效性以及资源的更新日期时...
  • $_SERVER['HTTP_HOST'] 请求信息中的Host内容,获取当前域名。$_SERVER["SERVER_NAME"] 输出配置文件httpd.conf中的ServerName,一般情况下与HTTP_HOST值相同,但如果服务器端口不是默认的80端口,...
  • 服务端获取客户端请求IP地址,常见的包括:x-...remote_addr:指的是当前直接请求的客户端IP地址,它存在于tcp请求体中,是http协议传输的时候自动添加,不受请求header的控制。因此,当客户端与服务器之间...
  • HTTP协议新增了Content-MD5 HTTP,但是nginx并不支持这个功能,而且官方也明确表示不会增加这项功能,为什么呢?因为每次请求都需要读取整个文件来计算MD5值,以性能著称的nginx绝对不愿意干出违背软件宗旨的事情...
  • ARP的主要作用是已知IP地址,获取其硬件地址。 在IP数据报中,其头部始终记录着目的IP和源IP,但在数据链路层转发的过程中,MAC帧中记录的是下一跳硬件地址和当前硬件地址。所以需要根据目的IP地址解析出硬件地址。 ...
  • 2000人的大群群聊时,群成员昵称可能显示不了,因为获取群信息的协议未完善,群信息数据量太大无法一次性返回,好像目前的官方WebQQ也存在这个问题,这个问题暂时也不管了,以后看情况再解决。 希望以后可以写...
  • httpServletRquest的基本方法 一、获取请求行信息 方法 描述 String getMethod() 获取请求方式的类型 StringBuffer getRequestURL() ...获取当前协议的名称和版本 二、获取请求信...
  • $_SERVER['HTTP_HOST'] 请求信息中的Host内容,获取当前域名。 $_SERVER["SERVER_NAME"] 输出配置文件httpd.conf中的ServerName,一般情况下与HTTP_HOST值相同,但如果服务器端口不是默认的80端口,...
  • servlet之request和response

    2019-09-08 22:07:59
    #使用request可以获取当前请求的所有请求信息 # 作用 * 获取请求的数据 * 请求方式:getMethod() * 请求地址:getRequestURL() * 请求协议:getScheme() * 获取请求行的数据(键值对) * 获取所有的建(枚举的类型)...
  • 2js 获取 window.navigator.userAgent 浏览器信息,唯一的区别是在最后面会有一个当前APP里面的协议头。使用APP的协议头来加以判断。例如下面获取的信息后面会有一个 xxxpay的标识 3.然后我们可以使用JS方法来判断...
  • Servlet

    2019-09-29 04:40:22
    request 对象学习:  作用:request 对象中封存了当前请求的所有请求信息  使用:  获取请求数据  req.getMethod();//获取请求方式 ... req.getRequestURL();//获取请求URL信息 ...//获取协议...
  • Servlet 学习笔记

    2020-03-23 09:30:55
    获取请求数据 req.getMethod();//获取请求方式 req.getRequestURL();//获取请求URL信息 req.getTequestURI();//获取请求URI信息 req.getScheme();//获取协议 获取请求行数据 req.getHeader(“键名”);//返回指定的...
  • 在delphi中TNMPop控件-------接收电子邮件,pop3 pop3协议自身命令 命令说明 USER向pop3服务器器传递用户名 PASS向pop3服务器器传递用户密码 STAT获取当前用户的邮件数 LIST获取邮件标号和大小 BETR获取邮件的全部...
  • 1.HTTP/1.1协议规定的HTTP请求方法有OPTIONSHEADGETPOSTPUTDELETETRACECONNECT 这几种 2下列数据提交方式描述属于GET的是 C A用于获取当前URL所支持的方法若请求成功则它会在HTTP中包含一个名为Allow的值是所...
  • http-tcp-socket

    2020-09-08 11:04:45
    如果尝试在socket中打开一个端口并等待,获取socket后输出这个socket对象通过字符流获取的请求,然后再在浏览器中输入127.0.0.1:portNum 会发现在控制台中输出了当前浏览器的配置信息,客户端ip地址等 简单的说,...
  • delphi编写电子邮件的制作步骤

    千次阅读 2007-09-20 09:43:00
    在delphi中TNMPop控件 -------接收电子邮件,pop3 pop3协议自身命令 命令 说明 USER 向pop3服务器器传递用户名 PASS 向pop3服务器器传递用户密码 STAT 获取当前用户的邮件数 LIST 获取邮件标号和大小 BETR ...
  • request

    2018-04-03 18:21:00
    作用: 接收客户端的请求数据 组成部分: 请求行 请求 请求体 ...请求方式 请求的路径 协议/版本 GET /day15/ HTTP/1.1 ...(掌握)String getContextPath():获取当前项目的项目名 /day15 (掌握)Stri...
  • 14_Request对象

    2016-10-21 15:18:00
    【HttpServletRequest简介】 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,...【获取当前请求的URI和URL】 request.getRequestURI(); //返回客户端发出请求的完整URL request...
  • c++ winpcap开发(6)

    2017-07-20 22:31:07
    当前程序的主要目的是显示如何解析和解释捕获的数据包的协议头。生成的应用程序UDPdump打印了我们网络上UDP流量的摘要。 我们选择解析和显示UDP协议,因为它比其他协议(如TCP)更易于访问,因此是一个很好的初始...
  • |如果想不验证提取的代理直接使用 请设置为:不验证是否UTF8解码 : 验证代理返回的网页内容是否进行UTF8解码 1=解码 0=不解码提取附加协议头 : 验证代理时附加的HTTP协议头 默认=空(默认协议头)验证特征 : ...
  • CTFHUB-技能树-WEB通关

    2020-11-11 16:13:47
    也可以利用向Web服务器发送’*'的请求来测试服务器的功能性,如获取当前URL所支持的方法。若请求成功,则它会在HTTP中包含一个名为“Allow”的,值是所支持的方法,如“GET,POST”。  2.HEAD  向服务

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 139
精华内容 55
关键字:

获取当前协议头