org.apache.jmeter.protocol.http.parser

## Class JsoupBasedHtmlParser

- java.lang.Object
- - org.apache.jmeter.protocol.http.parser.BaseParser
  - - org.apache.jmeter.protocol.http.parser.HTMLParser
    - - org.apache.jmeter.protocol.http.parser.JsoupBasedHtmlParser

- All Implemented Interfaces:
    LinkExtractorParser

      public class JsoupBasedHtmlParser
      extends HTMLParser

  Parser based on JSOUP
  Since:
    2.10 TODO Factor out common code between `LagartoBasedHtmlParser` and this one (adapter pattern)

- - ### Field Summary

    - ### Fields inherited from class org.apache.jmeter.protocol.http.parser.HTMLParser

      `ATT_ARCHIVE, ATT_BACKGROUND, ATT_CODE, ATT_CODEBASE, ATT_DATA, ATT_HREF, ATT_IS_IMAGE, ATT_REL, ATT_SRC, ATT_STYLE, ATT_TYPE, DEFAULT_PARSER, ICON, IE_UA, IE_UA_PATTERN, PARSER_CLASSNAME, SHORTCUT_ICON, STYLESHEET, TAG_APPLET, TAG_BASE, TAG_BGSOUND, TAG_BODY, TAG_EMBED, TAG_FRAME, TAG_IFRAME, TAG_IMAGE, TAG_INPUT, TAG_LINK, TAG_OBJECT, TAG_SCRIPT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JsoupBasedHtmlParser()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Iterator<URL>` | `getEmbeddedResourceURLs(String userAgent, byte[] html, URL baseUrl, URLCollection coll, String encoding)` Get the URLs for all the resources that a browser would automatically download following the download of the HTML content, that is: images, stylesheets, javascript files, applets, etc...

    - ### Methods inherited from class org.apache.jmeter.protocol.http.parser.HTMLParser

      `extractIEVersion, getEmbeddedResourceURLs, getEmbeddedResourceURLs, isEnableConditionalComments, normalizeUrlValue`

    - ### Methods inherited from class org.apache.jmeter.protocol.http.parser.BaseParser

      `getParser, isReusable`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JsoupBasedHtmlParser

          public JsoupBasedHtmlParser()

  - ### Method Detail

    - #### getEmbeddedResourceURLs

          public Iterator<URL> getEmbeddedResourceURLs(String userAgent,
                                                       byte[] html,
                                                       URL baseUrl,
                                                       URLCollection coll,
                                                       String encoding)
                                                throws HTMLParseException

      Description copied from class: `HTMLParser`
      Get the URLs for all the resources that a browser would automatically download following the download of the HTML content, that is: images, stylesheets, javascript files, applets, etc...

      All URLs should be added to the Collection.

      Malformed URLs can be reported to the caller by having the Iterator return the corresponding RL String. Overall problems parsing the html should be reported by throwing an HTMLParseException.

      N.B. The Iterator returns URLs, but the Collection will contain objects of class URLString.

      Specified by:
        `getEmbeddedResourceURLs` in class `HTMLParser`
      Parameters:
        `userAgent` - User Agent
        `html` - HTML code
        `baseUrl` - Base URL from which the HTML code was obtained
        `coll` - URLCollection
        `encoding` - Charset
      Returns:
        an Iterator for the resource URLs
      Throws:
        `HTMLParseException` - when parsing the `html` fails

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.