X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fbasic%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2FAbstractPageRequest.java;h=2e598005ff3a453150a50884cccfd649889ee3c6;hb=07cedd3f0730646ea35a7f668b3e1e872a4605d9;hp=28482d7fbd096fb8641db821cfcbaab339841726;hpb=9f693809d1e498d1a86d50a999646f66e9d84be5;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));