【问题标题】:How to get list of servlet parameters in a web server?如何在 Web 服务器中获取 servlet 参数列表?
【发布时间】:2011-10-05 16:57:34
【问题描述】:

我正在开展一个网络数据挖掘项目,通过爬取服务器页面直接从 HTML 中提取信息。我的工作只集中在一个安装了 caucho 树脂的具有 java web 服务器的特定网站上。

参数是通过url中的值对传递的,比如www.xxxxxx.com/jm/search?act=see&id=909&...我已经通过try解码了很多参数,当然,结果出来的很慢。

我的问题是……您知道如何获取此类服务器的所有有效参数吗?有可能的?

我无法访问服务器,我对 caucho 树脂一无所知,我正在用 Java 编写一个实用程序来完成这项工作。

【问题讨论】:

    标签: java servlets web caucho


    【解决方案1】:

    除非您与之通信的服务器发布了完整的 API,否则可以有任意数量的参数。考虑一下这一点——Web 表单可能不会发布服务器响应的所有参数,例如内部使用的参数等。

    由于参数处理是在“公众”的视线之外实现的,因此在服务器端,它对外界是不透明的。

    如果您指的是参数的可能,答案基本相同。例如,亚马逊有多少有效的产品 SKU?

    (另请注意,调用这些“请求参数”可能会更好,因为 servlet 也有“init 参数”,这是一个完全不同的问题:)

    【讨论】:

    • 我说的是参数而不是值。通过查看“隐藏”标签的 HTML 源代码,我确实设法找到了其中许多,但并不是唯一的,因为我能够通过反复试验找到更多。
    • 您需要遍历多个长度的整个字符集,并确定它们中的任何一个是否会影响实际返回的内容。但是,根本不可能获得完整的列表。
    【解决方案2】:

    参数是否有效不是由网络服务器定义的。它由自定义 servlet 代码本身定义。反过来,它通常在功能需求和/或技术规范文档中定义,也可能在自定义 servlet 的生成 javadoc 中定义。

    您最好联系网站的所有者/维护者以获取此信息。如果您不能或可能不会,那么您可能正在做一些违反网站政策的事情。您至少可以在提交给此 servlet 的任何公共 HTML 表单的输入元素中找到所有有效参数 names


    更新:根据您的评论:

    我说的是参数而不是值。通过查看“隐藏”标签的 HTML 源代码,我确实设法找到了其中的许多,但这些并不是唯一的,因为我能够通过反复试验找到更多。

    只需使用FirebugFiddler 即可跟踪真正的网络浏览器发出的HTTP 请求。您将获得所有参数,这些参数通过名称=值对在一个漂亮的表中发送。无需反复试验。

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 1970-01-01
      • 2023-03-11
      • 2015-08-10
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多