Package com.gargoylesoftware.htmlunit

Examples of com.gargoylesoftware.htmlunit.WebRequestSettings


        }
        catch (final MalformedURLException e) {
            throw new IllegalArgumentException("Not a valid url: " + actionUrl);
        }

        final WebRequestSettings settings = new WebRequestSettings(url, method);
        settings.setRequestParameters(parameters);
        if (HttpMethod.POST == method) {
            settings.setEncodingType(FormEncodingType.getInstance(getEnctypeAttribute()));
        }
        settings.setCharset(getSubmitCharset());
        settings.setAdditionalHeader("Referer", htmlPage.getWebResponse().getRequestSettings().getUrl()
                .toExternalForm());
        return settings;
    }
View Full Code Here


     * Tries to uncompress the JavaScript code in the provided response.
     * @param response the response to uncompress
     * @return a new response with uncompressed JavaScript code or the original response in case of failure
     */
    protected WebResponse uncompressJavaScript(final WebResponse response) {
        final WebRequestSettings requestSettings = response.getRequestSettings();
        final String scriptName = requestSettings.getUrl().toString();
        final String scriptSource = response.getContentAsString();

        // skip if it is already formatted? => TODO

        final ContextFactory factory = new ContextFactory();
View Full Code Here

            final URL originUrl = containingPage_.getWebResponse().getRequestSettings().getUrl();
            if (!isSameOrigin(originUrl, fullUrl)) {
                throw Context.reportRuntimeError("Access to restricted URI denied");
            }

            final WebRequestSettings settings = new WebRequestSettings(fullUrl);
            settings.setCharset("UTF-8");
            settings.setAdditionalHeader("Referer", containingPage_.getWebResponse().getRequestSettings().getUrl()
                    .toExternalForm());
            final HttpMethod submitMethod = HttpMethod.valueOf(method.toUpperCase());
            settings.setHttpMethod(submitMethod);
            if (user != null) {
                final DefaultCredentialsProvider dcp = new DefaultCredentialsProvider();
                dcp.addCredentials(user, password);
                settings.setCredentialsProvider(dcp);
            }
            requestSettings_ = settings;
        }
        catch (final MalformedURLException e) {
            LOG.error("Unable to initialize XMLHttpRequest using malformed URL '" + url + "'.");
View Full Code Here

            }
            page.executeJavaScriptIfPossible(builder.toString(), "javascript url", getStartLineNumber());
            return;
        }
        final URL url = page.getFullyQualifiedUrl(href);
        final WebRequestSettings wrs = new WebRequestSettings(url);
        wrs.setAdditionalHeader("Referer", page.getWebResponse().getRequestSettings().getUrl().toExternalForm());
        if (LOG.isDebugEnabled()) {
            LOG.debug(
                    "Getting page for " + url.toExternalForm()
                    + ", derived from href '" + href
                    + "', using the originating URL "
View Full Code Here

        if (async_) {
            LOG.debug("XMLDocument.load(): 'async' is true, currently treated as false.");
        }
        try {
            final HtmlPage htmlPage = (HtmlPage) getWindow().getWebWindow().getEnclosedPage();
            final WebRequestSettings settings = new WebRequestSettings(htmlPage.getFullyQualifiedUrl(xmlSource));
            final WebResponse webResponse = getWindow().getWebWindow().getWebClient().loadWebResponse(settings);
            final XmlPage page = new XmlPage(webResponse, getWindow().getWebWindow(), false);
            setDomNode(page);
            return true;
        }
View Full Code Here

        Stylesheet sheet;
        final HtmlPage page = (HtmlPage) element.getDomNodeOrDie().getPage(); // fallback uri for exceptions
        String uri = page.getWebResponse().getRequestSettings().getUrl().toExternalForm();
        try {
            // Retrieve the associated content and respect client settings regarding failing HTTP status codes.
            final WebRequestSettings request;
            final WebClient client = page.getWebClient();
            if (link != null) {
                // Use link.
                request = link.getWebRequestSettings();
            }
            else {
                // Use href.
                request = new WebRequestSettings(new URL(url));
                final String referer = page.getWebResponse().getRequestSettings().getUrl().toExternalForm();
                request.setAdditionalHeader("Referer", referer);
            }

            uri = request.getUrl().toExternalForm();
            final Cache cache = client.getCache();
            final Object fromCache = cache.getCachedObject(request);
            if (fromCache != null && fromCache instanceof CSSStyleSheet) {
                sheet = new Stylesheet(element, (CSSStyleSheet) fromCache, uri);
            }
View Full Code Here

                jsxSet_hash(newLocation);
                return;
            }

            final WebWindow webWindow = getWindow().getWebWindow();
            webWindow.getWebClient().download(webWindow, "", new WebRequestSettings(url), "JS set location");
        }
        catch (final MalformedURLException e) {
            LOG.error("jsxSet_location('" + newLocation + "') Got MalformedURLException", e);
            throw e;
        }
View Full Code Here

     * into this location's window.
     * @param url This location's new URL
     * @throws IOException if there is a problem loading the new location
     */
    private void setUrl(final URL url) throws IOException {
        window_.getWebWindow().getWebClient().getPage(window_.getWebWindow(), new WebRequestSettings(url));
    }
View Full Code Here

    private Script loadJavaScriptFromUrl(final URL url, final String charset) throws IOException,
        FailingHttpStatusCodeException {

        String scriptEncoding = charset;
        final String pageEncoding = getPageEncoding();
        final WebRequestSettings referringRequest = getWebResponse().getRequestSettings();

        final WebClient client = getWebClient();
        final Cache cache = client.getCache();

        final WebRequestSettings request = new WebRequestSettings(url);
        request.setAdditionalHeaders(new HashMap<String, String>(referringRequest.getAdditionalHeaders()));
        request.setAdditionalHeader("Referer", referringRequest.getUrl().toString());

        final Object cachedScript = cache.getCachedObject(request);
        if (cachedScript instanceof Script) {
            return (Script) cachedScript;
        }
View Full Code Here

     * @throws MalformedURLException in case of problem resolving the URL
     */
    public WebRequestSettings getWebRequestSettings() throws MalformedURLException {
        final HtmlPage page = (HtmlPage) getPage();
        final URL url = page.getFullyQualifiedUrl(getHrefAttribute());
        final WebRequestSettings request = new WebRequestSettings(url);
        request.setAdditionalHeader("Referer", page.getWebResponse().getRequestSettings().getUrl().toExternalForm());
        return request;
    }
View Full Code Here

TOP

Related Classes of com.gargoylesoftware.htmlunit.WebRequestSettings

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.