- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在 nessus-xmlrpc gem 中构建一个功能,以允许下载 HTML 报告。我已经到了只需要解析 fileName 值的 HTML 响应的位置。
这是我正在使用的示例响应,来自 nessus:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Formatting the report</title><meta http-equiv="refresh"
content="5;url=/file/xslt/download/?fileName=Windows_-_Main___Media_kr1sjb.html">
</head>
<body bgcolor="#2b4e67">
<link type="text/css" href="jqueryui18.css" rel="stylesheet" />
<script type="text/javascript" src="jqueryui18.js"></script>
<div id="main"></div>
当使用 Nokogiri 时:
doc = Nokogiri::HTML(http_content)
文档最终是这样的:
#<Nokogiri::HTML::Document:0x4758128 name="document" children=[#<Nokogiri::XML::DTD:0x4757f48 name="html">, #<Nokogiri::XML::Element:0x47578ea name="html" children=[#<Nokogiri::XML::Element:0x47577aa name="head" children=[#<Nokogiri::XML::Element:0x475767e name="meta" attributes=[#<Nokogiri::XML::Attr:0x475764c name="charset" value="utf-8">]>, #<Nokogiri::XML::Element:0x4757368 name="title" children=[#<Nokogiri::XML::Text:0x475723c "Formatting the report">]>, #<Nokogiri::XML::Element:0x475af9a name="meta" attributes=[#<Nokogiri::XML::Attr:0x475ac48 name="http-equiv" value="refresh">, #<Nokogiri::XML::Attr:0x475ac2a name="content" value="5;url=/file/xslt/download/?fileName=Windows_-_Main___Media_kr1sjb.html">]>]>, #<Nokogiri::XML::Element:0x470b968 name="body" attributes=[#<Nokogiri::XML::Attr:0x470b7ec name="bgcolor" value="#2b4e67">] children=[#<Nokogiri::XML::Element:0x46fb216 name="link" attributes=[#<Nokogiri::XML::Attr:0x46fb18a name="type" value="text/css">, #<Nokogiri::XML::Attr:0x46fb176 name="href" value="jqueryui18.css">, #<Nokogiri::XML::Attr:0x46fb16c name="rel" value="stylesheet">]>, #<Nokogiri::XML::Element:0x46fa1d6 name="script" attributes=[#<Nokogiri::XML::Attr:0x46fa0e6 name="type" value="text/javascript">, #<Nokogiri::XML::Attr:0x46fa0c8 name="src" value="jqueryui18.js">]>, #<Nokogiri::XML::Element:0x46dd43c name="div" attributes=[#<Nokogiri::XML::Attr:0x46dd37e name="id" value="main">]>]>]>]>
我不知道如何取回 fileName
值,“Windows_-Main__Media_kr1sjb.html”。
任何帮助都会很棒,一旦它起作用,我会为所有人插入这些改变。
最佳答案
我会做如下:
require 'nokogiri'
doc = Nokogiri::HTML.parse <<-eol
<html>
<head>
<meta charset="utf-8">
<title>Formatting the report</title><meta http-equiv="refresh"
content="5;url=/file/xslt/download/?fileName=Windows_-_Main___Media_kr1sjb.html">
</head>
<body bgcolor="#2b4e67">
<link type="text/css" href="jqueryui18.css" rel="stylesheet" />
<script type="text/javascript" src="jqueryui18.js"></script>
<div id="main"></div>
eol
str = doc.at_css('meta[http-equiv="refresh"]')['content']
# => "5;url=/file/xslt/download/?fileName=Windows_-_Main___Media_kr1sjb.html"
str[/\?fileName=(.*)/,1]
# => "Windows_-_Main___Media_kr1sjb.html"
关于html - 使用 Nokogiri 解析 nessus HTTP 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19667367/
我在工作中遇到了一些困惑。我和一些工程师认为 nessus(据我们所知是一个端口扫描器)不会关心我希望将我们服务器上的 tomcat 目录从/usr/java/apache-tomcat-5.5.33
有人知道我为什么会收到此错误吗? 我正在使用 http://code.google.com/p/nessusxmlrpc/wiki/HowTo root@bt:~/NessusXMLRPC-0.21#
我正在 nessus-xmlrpc gem 中构建一个功能,以允许下载 HTML 报告。我已经到了只需要解析 fileName 值的 HTML 响应的位置。 这是我正在使用的示例响应,来自 nessu
Python 初学者需要帮助过滤 .xml 文件。我一直在尝试使用 xml.etree.ElementTree 但收效甚微。 xml 看起来像这样: I
Context: Run Nessus web application scan using Authentication credentials HTTP login form (Login
我是一名优秀的程序员,十分优秀!