String filePath=this.getServletConfig().getServletContext().getRealPath("/");
System.out.println("Protocol: " + request.getProtocol());
System.out.println("Scheme: " + request.getScheme());
System.out.println("Server Name: " + request.getServerName() );
System.out.println("Server Port: " + request.getServerPort());
System.out.println("Protocol: " + request.getProtocol());
System.out.println("Server Info: " + getServletConfig().getServletContext().getServerInfo());
System.out.println("Remote Addr: " + request.getRemoteAddr());
System.out.println("Remote Host: " + request.getRemoteHost());
System.out.println("Character Encoding: " + request.getCharacterEncoding());
System.out.println("Content Length: " + request.getContentLength());
System.out.println("Content Type: "+ request.getContentType());
System.out.println("Auth Type: " + request.getAuthType());
System.out.println("HTTP Method: " + request.getMethod());
System.out.println("Path Info: " + request.getPathInfo());
System.out.println("Path Trans: " + request.getPathTranslated());
System.out.println("Query String: " + request.getQueryString());
System.out.println("Remote User: " + request.getRemoteUser());
System.out.println("Session Id: " + request.getRequestedSessionId());
System.out.println("Request URI: " + request.getRequestURI());
System.out.println("Request URL: " + request.getRequestURL());
System.out.println("Servlet Path: " + request.getServletPath());
System.out.println("Accept: " + request.getHeader("Accept"));
System.out.println("Host: " + request.getHeader("Host"));
System.out.println("Referer : " + request.getHeader("Referer"));
System.out.println("Accept-Language : " + request.getHeader("Accept-Language"));
System.out.println("Accept-Encoding : " + request.getHeader("Accept-Encoding"));
System.out.println("User-Agent : " + request.getHeader("User-Agent"));
System.out.println("Connection : " + request.getHeader("Connection"));
System.out.println("Cookie : " + request.getHeader("Cookie"));
System.out.println("Created : " + session.getCreationTime());
System.out.println("LastAccessed : " + session.getLastAccessedTime());
-------------------------------------------------------------
Protocol: HTTP/1.1
Scheme: http
Server Name: localhost
Server Port: 8080
Protocol: HTTP/1.1
Server Info: Apache Tomcat/6.0.10
Remote Addr: 127.0.0.1
Remote Host: 127.0.0.1
Character Encoding: null
Content Length: 2676
Content Type: multipart/form-data; boundary=---------------------------7da26197405d2
Auth Type: null
HTTP Method: POST
Path Info: null
Path Trans: null
Query String: null
Remote User: null
Session Id: D6A3440E9AE430D4D4C64D3AF5918797
Request URI: /Struts2.5/pro.jsp
Request URL: http://localhost:8080/Struts2.5/pro.jsp
Servlet Path: /pro.jsp
Accept: */*
Host: localhost:8080
Referer : http://localhost:8080/Struts2.5/
Accept-Language : zh-cn
Accept-Encoding : gzip, deflate
User-Agent : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; CIBA)
Connection : Keep-Alive
Cookie : JSESSIONID=D6A3440E9AE430D4D4C64D3AF5918797
Created : 1271739994968
LastAccessed : 1271739994968
-------------------
可以通过HTTP header 内的 HTTP USER AGENT 识别引擎爬虫
一些常用的爬虫
百度爬虫
Baiduspider+(+http://www.baidu.com/search/spider.htm)
雅虎爬虫,分别是雅虎中国和美国总部的爬虫
Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
新浪爱问爬虫
iaskspider/2.0(+http://iask.com/help/help_index.html)
Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)
搜狗爬虫
Sogou web spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07″)
Sogou Push Spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07″)
【早期用法:“sogou spider”】
Google爬虫
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Google AdSense广告内容匹配爬虫
Mediapartners-Google/2.1
网易爬虫
Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/;)
【早期采用“ OutfoxBot/0.5 (for internet experiments; http://”; outfoxbot@gmail.com)”】
Alexa排名爬虫
ia_archiver
MSN爬虫
msnbot/1.0 (+http://search.msn.com/msnbot.htm)
特点未知
msnbot-media/1.0 (+http://search.msn.com/msnbot.htm)
据称为北大天网的搜索引擎爬虫程序
P.Arthur 1.1
看来是Qihoo的
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0)
Gigabot搜索引擎爬虫
Gigabot/2.0 (http://www.gigablast.com/spider.html)
分享到:
相关推荐
总结起来,无论是在传统的Servlet环境中还是在Reactive编程模型下,获取HTTP请求中的IP地址都需要处理可能存在的代理服务器情况。理解这些基础知识对于任何Java Web开发者来说都是至关重要的,它有助于确保我们的...
### 普通Java类获取Request的方法 在Java Web开发中,经常需要在非Servlet类(如普通Java类)中获取`HttpServletRequest`对象,以便访问请求中的参数、头信息等。通常情况下,`HttpServletRequest`对象是在Servlet...
### Java分页方法总结 #### 一、MySQL的分页技术 MySQL的分页操作相对简单,主要通过`LIMIT`语句实现。该语句允许开发者指定查询结果集中的起始位置以及返回的行数。这为实现网页上的分页功能提供了极大的便利。 ...
总结来说,JMeter的Java Request采样器为性能测试提供了一种高度灵活的方法,允许开发者直接使用Java代码进行定制化的测试。结合源码理解和工具使用,我们可以有效地评估和优化系统的性能。在实际操作中,一定要注意...
### Java EE 学习总结 在Java EE的学习过程中,我们主要关注了两个核心知识点:标签库(Tag Libraries)以及Servlet的工作流程。这两个方面是Java EE技术栈中的重要组成部分,对于理解整个Java EE体系架构有着非常...
这篇教程主要关注于`request`对象的常用方法,这对于理解和处理用户请求至关重要。下面我们将详细探讨这些方法及其用途。 首先,`request`对象提供了一系列方法来获取客户端环境信息: 1. `getRequestURL()`:这个...
总结来说,Servlet是JAVAEE中的关键组件,通过HttpServletRequest和HttpServletResponse对象,能够处理HTTP请求并构建响应。在实践中,结合MVC设计模式,Servlet可以有效地管理应用程序的控制流程,而JSP则专注于...
* request.getParameter()、request.setAttribute() 等 request 方法 * ServletContext 和 Filter 等 servlet 组件 * web.xml 和 tomcat 等 servlet 容器 十、JSP 和 JavaScript * JSP Scope Object 和 HTML、...
### Java WebService服务器端获取Request对象的三种方式 ...总结来说,通过上述介绍的三种方式,我们可以灵活地在Java WebService环境中获取客户端请求的相关信息,从而更好地实现业务逻辑的处理。
Java知识点总结 1. JDK常用的包 JDK包含了许多核心包,如`java.lang`,它是所有Java程序的基础,包含了基本类型和运行时系统的基本类;`java.io`提供了输入/输出流处理;`java.util`包含集合框架、日期时间处理、...
10. request.getSession(), request.getSession(false), request.getSession(true):这三个方法用于获取或创建HttpSession。getSession()默认创建新session,getSession(false)如果存在则返回,不存在则返回null,...
### JAVA 获取各种路径总结 在Java开发中,特别是在Web应用开发中,经常需要获取不同类型的路径,例如:当前Web应用的路径、特定文件的真实路径等。本文将详细讲解如何通过不同的方式来获取这些路径。 #### JSP中...
### 最新JAVA面试题总结之框架 #### Spring框架概述与核心功能 **Spring框架**是一个广泛使用的开源框架,旨在简化企业级应用的开发过程。它采用了一种分层架构,这意味着开发者可以根据具体需求选择框架中的特定...
`request.getHeader("user-agent")`是Java Web开发中获取客户端浏览器信息的常用方法。通过解析返回的User-Agent字符串,开发者可以了解到用户的浏览器类型、版本、操作系统等关键信息,从而进行更精确的用户行为...
总结来说,Struts2提供了多种途径来让Action访问request、response和session,开发者可以根据实际需求和偏好选择合适的方法。无论是通过ActionContext、依赖注入还是拦截器,都能够在Action中灵活地操作这些关键的...
【Java面试题总结】 在Java面试中,面试官通常会关注候选人的基础知识、问题解决能力以及对Java特性的理解。以下是一些常见的Java面试题目及其详细解析: **一、JDK常用的包** JDK(Java Development Kit)是开发...
在探讨`request.getParameter()`与`request.getAttribute()`的区别之前,我们首先需要理解这两个方法的基本概念以及它们在Java Web开发中的作用。 ### `request.getParameter()` `request.getParameter()`是...
### Java获取客户端真实IP的两种方法详解 #### 一、问题背景 在Web开发中,经常需要获取客户端的真实IP地址来进行一系列的操作,比如统计访问来源、进行地理定位、安全防护等。然而,在实际应用场景中,客户端请求...
### Java知识点总结:深入理解Java技术与应用 #### GET与POST方法详解 在Web开发中,GET和POST是两种常见的HTTP请求方式,它们各有特点,适用于不同的场景。 1. **GET与POST的数据传输方式** - GET方法通过URL...