mirror of https://github.com/apache/jmeter.git
Bug 54629 - HTMLParser does not extract <object> tag urls
Bugzilla Id: 54629
git-svn-id: https://svn.apache.org/repos/asf/jmeter/trunk@1451946 13f79535-47bb-0310-9956-ffa450edef68
Former-commit-id: b8a912a15e
This commit is contained in:
parent
32b51d689e
commit
129abc4d59
|
|
@ -53,6 +53,7 @@ public abstract class HTMLParser {
|
|||
protected static final String TAG_IMAGE = "img";// $NON-NLS-1$
|
||||
protected static final String TAG_INPUT = "input";// $NON-NLS-1$
|
||||
protected static final String TAG_LINK = "link";// $NON-NLS-1$
|
||||
protected static final String TAG_OBJECT = "object";// $NON-NLS-1$
|
||||
protected static final String TAG_SCRIPT = "script";// $NON-NLS-1$
|
||||
protected static final String STYLESHEET = "stylesheet";// $NON-NLS-1$
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import java.net.MalformedURLException;
|
|||
import java.net.URL;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.jmeter.protocol.http.util.ConversionUtils;
|
||||
import org.apache.jorphan.logging.LoggingManager;
|
||||
import org.apache.log.Logger;
|
||||
|
|
@ -35,6 +36,7 @@ import org.htmlparser.tags.CompositeTag;
|
|||
import org.htmlparser.tags.FrameTag;
|
||||
import org.htmlparser.tags.ImageTag;
|
||||
import org.htmlparser.tags.InputTag;
|
||||
import org.htmlparser.tags.ObjectTag;
|
||||
import org.htmlparser.tags.ScriptTag;
|
||||
import org.htmlparser.util.NodeIterator;
|
||||
import org.htmlparser.util.ParserException;
|
||||
|
|
@ -146,6 +148,19 @@ class HtmlParserHTMLParser extends HTMLParser {
|
|||
// and archives (.jar and .zip) files as well.
|
||||
AppletTag applet = (AppletTag) tag;
|
||||
binUrlStr = applet.getAppletClass();
|
||||
} else if (tag instanceof ObjectTag) {
|
||||
// look for Objects
|
||||
ObjectTag applet = (ObjectTag) tag;
|
||||
String data = applet.getAttribute("codebase");
|
||||
if(!StringUtils.isEmpty(data)) {
|
||||
binUrlStr = data;
|
||||
}
|
||||
|
||||
data = applet.getAttribute("data");
|
||||
if(!StringUtils.isEmpty(data)) {
|
||||
binUrlStr = data;
|
||||
}
|
||||
|
||||
} else if (tag instanceof InputTag) {
|
||||
// we check the input tag type for image
|
||||
if (ATT_IS_IMAGE.equalsIgnoreCase(tag.getAttribute(ATT_TYPE))) {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import java.net.MalformedURLException;
|
|||
import java.net.URL;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.jmeter.protocol.http.util.ConversionUtils;
|
||||
import org.apache.jorphan.logging.LoggingManager;
|
||||
import org.apache.log.Logger;
|
||||
|
|
@ -119,6 +120,20 @@ class JTidyHTMLParser extends HTMLParser {
|
|||
urls.addURL(getValue(attrs, "code"), baseUrl);
|
||||
break;
|
||||
}
|
||||
|
||||
if (name.equalsIgnoreCase(TAG_OBJECT)) {
|
||||
String data = getValue(attrs, "codebase");
|
||||
if(!StringUtils.isEmpty(data)) {
|
||||
urls.addURL(data, baseUrl);
|
||||
}
|
||||
|
||||
data = getValue(attrs, "data");
|
||||
if(!StringUtils.isEmpty(data)) {
|
||||
urls.addURL(data, baseUrl);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (name.equalsIgnoreCase(TAG_INPUT)) {
|
||||
String src = getValue(attrs, ATT_SRC);
|
||||
String typ = getValue(attrs, ATT_TYPE);
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ class RegexpHTMLParser extends HTMLParser {
|
|||
+ "|BASE" + SEP + "HREF" + VALUE
|
||||
+ "|(?:IMG|SCRIPT|FRAME|IFRAME|BGSOUND)" + SEP + "SRC" + VALUE
|
||||
+ "|APPLET" + SEP + "CODE(?:BASE)?" + VALUE
|
||||
+ "|(?:EMBED|OBJECT)" + SEP + "(?:SRC|CODEBASE)" + VALUE
|
||||
+ "|(?:EMBED|OBJECT)" + SEP + "(?:SRC|CODEBASE|DATA)" + VALUE
|
||||
+ "|(?:BODY|TABLE|TR|TD)" + SEP + "BACKGROUND" + VALUE
|
||||
+ "|[^<]+?STYLE\\s*=['\"].*?URL\\(\\s*['\"](.+?)['\"]\\s*\\)"
|
||||
+ "|INPUT(?:" + SEP + "(?:SRC" + VALUE
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ This does not affect JMeter operation.
|
|||
<li><bugzilla>54293</bugzilla> - JMeter rejects html tags '<' in query params as invalid when they are accepted by the browser</li>
|
||||
<li><bugzilla>54142</bugzilla> - HTTP Proxy Server throws an exception when path contains "|" character </li>
|
||||
<li><bugzilla>54627</bugzilla> - JMeter Proxy GUI: Type of sampler settings takes the whole screen with when there are samplers with long name</li>
|
||||
<li><bugzilla>54629</bugzilla> 54629 - HTMLParser does not extract <object> tag urls</li>
|
||||
</ul>
|
||||
|
||||
<h3>Other Samplers</h3>
|
||||
|
|
|
|||
Loading…
Reference in New Issue