X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fbasic%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2FAbstractPageRequest.java;h=2e598005ff3a453150a50884cccfd649889ee3c6;hb=5685a836b9208ff8babfe5ac5b30c5f86d27cf96;hp=28482d7fbd096fb8641db821cfcbaab339841726;hpb=7053b12acef10ba6ee003e811b61d32f9c62f9f5;p=utils diff --git a/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java b/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java index 28482d7f..2e598005 100644 --- a/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java +++ b/crawler/basic/src/org/wamblee/crawler/AbstractPageRequest.java @@ -18,6 +18,9 @@ package org.wamblee.crawler; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; @@ -108,10 +111,15 @@ public abstract class AbstractPageRequest implements PageRequest { /** * Gets the parameters for the request. * + * @param aParams Additional parameters to use, obtained from another page, most likely as + * hidden form fields. * @return Request parameters. */ - protected NameValuePair[] getParameters() { - return _params; + protected NameValuePair[] getParameters(NameValuePair[] aParams) { + List params = new ArrayList(); + params.addAll(Arrays.asList(_params)); + params.addAll(Arrays.asList(aParams)); + return params.toArray(new NameValuePair[0]); } /** @@ -176,6 +184,7 @@ public abstract class AbstractPageRequest implements PageRequest { try { aMethod = executeWithRedirects(aClient, aMethod); byte[] xhtmlData = getXhtml(aMethod); + Document transformed = _transformer.transform(xhtmlData, _transformer.resolve(_xslt));