获取HttpServletRequest请求信息,HTTP协议信息

获取HttpServletRequest请求信息,HTTP协议信息

经常用到,简单记录下…

/**
 * HttpServletRequest请求参数获取测试
 * @author Niu on 2017年7月17日 下午2:45:01
 */
@WebServlet("/dispense")
public class DispenseServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获取请求方式:GET
        System.out.println("req.getMethod():" + req.getMethod());

        // 获取项目名称:/dispense
        System.out.println("req.getContextPath():" + req.getContextPath());

        // 获取完整请求路径:http://localhost:8888/dispense/dispense
        System.out.println("req.getRequestURL():" + req.getRequestURL());

        // 获取除了域名外的请求数据:/dispense/dispense
        System.out.println("req.getRequestURI():" + req.getRequestURI());

        // 获取请求参数:name=codingme.net
        System.out.println("req.getQueryString():" + req.getQueryString());
        // 获取请求头:
        System.out.println("req.getHeader(\"user-Agent\"):" + req.getHeader("user-Agent"));

        System.out.println("--------------------------------------------------------");
        // 获取所有的消息头名称
        Enumeration<String> headerNames = req.getHeaderNames();
        // 获取获取的消息头名称,获取对应的值,并输出
        while (headerNames.hasMoreElements()) {
            String nextElement = headerNames.nextElement();
            System.out.println(nextElement + ":" + req.getHeader(nextElement));
        }

        System.out.println("----------------------------------------------------------");
        // 根据名称获取此重名的所有数据
        System.out.println("req.getHeader(\"accept\"):" + req.getHeader("accept"));

        // 获取请求主机名
        System.out.println("req.getHeader(\"host\"):" + req.getHeader("host"));

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

  

请求URL:

http://localhost:8888/dispense/dispense?name=codingme.net

输出:

req.getMethod():GET
req.getContextPath():/dispense
req.getRequestURL():http://localhost:8888/dispense/dispense
req.getRequestURI():/dispense/dispense
req.getQueryString():name=codingme.net
req.getHeader("user-Agent"):Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3080.5 Safari/537.36
--------------------------------------------------------
host:localhost:8888
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/60.0.3080.5 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.8
cookie:_ga=GA1.1.1003706294.1499565784; Hm_lvt_57ccbd5c600ed4e6bdb9458e666b6409=1499849256,1499853602,1499950574; Hm_lvt_1b51c3ea9a3e7b1a2bc55df97ab4efd3=1499952403
----------------------------------------------------------
req.getHeader("accept"):text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
req.getHeader("host"):localhost:8888

 

原文地址:http://blog.codingme.net/post/servlet-HttpServletRequest-http-info

时间: 2024-10-07 05:31:20

获取HttpServletRequest请求信息,HTTP协议信息的相关文章

asp.net 无法获取客户端请求的真实协议https

问题: a) 客户端请求的是https,但服务端Request.Url获取的却是http: b) 负载均衡连接协议服务端与客户端协议不一致. 有时候我们需要获取或拼接连接,但是可能会出现客户端使用https请求但我们获取的确是http的情况,这个时就无法访问拼接出来的http连接. 这通常是由于服务器使用负载均衡造成客户请求使用的协议与服务端接收的协议不一致. 解决办法: 通过判断Request.ServerVariable["SERVER_PROTOCOL"] 是否等于HTTP/1.

测开之路一百二十六:flask之获取request请求数据

可以根据flask的request对象获取所有的请求信息 path = request.path # 获取请求地址method = request.method # 获取请求方法ip = request.remote_addr # 请求来源的ipform = request.form # 获取form表单的数据value = request.values # 获取查询字符串/表单数据headers = request.headers # 后区头部信息User_Agent = request.he

PHP获取http请求的头信息实现步骤

PHP如何获取http请求头信息,是一个急切解决而不知道如何抉择的问题,本人搜集整理下,可供参考下 PHP手册提供了现成的函数: getallheaders (PHP 4, PHP 5) getallheaders — Fetch all HTTP request headers 说明 array getallheaders ( void ) Fetches all HTTP headers from the current request. This function is an alias

JSP:请求数据和请求本身的一些信息

JSP:请求数据和请求本身的一些信息 jsp 隐式对象 赵振江 隐式对象 描述 编写一个JSP登录页面,可输入用户名和密码,提交请求到另一个JSP页面,该JSP页面获取请求的相关数据并显示出来.请求的相关数据包括用户输入的请求数据和请求本身的一些信息(比如请求使用的协议getProtocol() .请求的URI request.getServletPath() .请求方法request.getMethod() .远程地址request.getRemoteAddr()等). output.jsp

获取HTTPHeader头部的所有字段信息Nodejs

nodejs比较简单,获取获取HTTPHeader头部的所有字段信息代码如下 var http=require("http"); var server=http.createServer(); //创建服务器 server.on("request",function(req,res){ // request.headers 打印全部请求头信息--对象形式 // request.rawHeaders 全部头信息--数组形式 // request.httpVersion

第九篇:获取套接字相关联信息

前言 知道套接字描述符,如何获取这个套接字连接的相关信息呢?显然,这是一个必须要清楚的问题. 获取本地协议信息 函数原型:int getsockname ( int sockfd, struct sockaddr *localaddr, socklen_t *addrlen ) 函数功能:将本地套接字描述符sockfd对应的连接信息存放进localaddr.若成功返回0,否则返回-1. 包含头文件:sys/socket.h 获取外地协议信息 函数原型:int getpeername ( int

js获取当前页面url网址等信息

使用js获取当前页面的url网址信息. 1.设置或获取整个 URL 为字符串: window.location.href 2.设置或获取与 URL 关联的端口号码: window.location.port 3.设置或获取 URL 的协议部分 window.location.protocol 4.(www.jbxue.com)设置或获取 href 属性中跟在问号后面的部分 window.location.search 5.获取变量的值(截取等号后面的部分) var url = window.lo

用Java获取一个网站的基本配置信息

前言:我们在进行网站渗透的时候,通常第一步都是获取目标网站的一些配置信息,比如:所用的服务器类型,用了哪种CMS,网站又用了哪些插件等等.当然,我们要是在这一步获取到了比较充分的信息,毫无疑问接下来我们就可以有针对性地进行漏洞搜索和挖掘,对最后的渗透测试是非常有帮助的. 一 简介 今天,我主要是给大家安利一个比较好的对目标网站进行基本信息探测的网站,它就是:https://builtwith.com .使用起来也很简单,直接对目标网站进行搜索就行了,比如说我们搜索:https://builtwi

设置和获取与执行环境相关的信息?

设置和获取与执行环境相关的信息? HostingEnvironment是承载应用当前执行环境的描述,它是对所有实现了IHostingEnvironment接口的所有类型以及对应对象的统称.如下面的代码片段所示,一个HostingEnvironment对象承载的执行环境的描述信息体现在定义这个接口的6个属性上.ApplicationName和EnvironmentName分别代表当前应用的名称和执行环境的名称.WebRootPath和ContentRootPath是指向两个根目录的路径,前者指向的