Java Загрузка безголового файла в Eclipse SWT Browser - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю над небольшой забавной программой для загрузки видео с веб-сайтов, которая позволяет загружать видео напрямую.

Пока у меня есть браузер SWT для загрузки страницы, где находится видео, и я использую JSoup проанализировать данные браузера HTML и найти ссылку на скачивание видео. Однако сайт, на котором я пытаюсь заставить это работать, требует входа для загрузки файлов. Если я использую обычный метод загрузки URL-адреса, он загружает страницу входа на веб-сайт.

Теперь из браузера SWT я могу щелкнуть ссылку для загрузки и получить диалоговое окно сохранения как, но хочу сохранить видео / файл в фоновом режиме. Любые идеи?

Что я пытался сделать, чтобы каким-то образом перенаправить данные из видеофайла при загрузке страницы в строку, а затем сохранить строку позже как файл MP4. Но, конечно, это не сработало ...

//Create Browser
    Browser Browser = new Browser(shell, SWT.NONE);
    Browser.setUrl("https://google.com");
    Browser.setBounds(10, 43, 988, 582);

//Create Download Button
        Button DownloadButton = new Button(shell, SWT.NONE);
        DownloadButton.setToolTipText("Go to URL and run Download script");
        DownloadButton.setTouchEnabled(true);
        DownloadButton.setText("Download");
        DownloadButton.setBounds(902, 7, 96, 30);
        DownloadButton.addListener(SWT.Selection, new Listener() {
            public void handleEvent(Event e) {
                switch(e.type) {
                    case SWT.Selection:
                        if(WebsiteList.getText() == "Example") {
                            //Get Loaded page Data
                            Document doc = Jsoup.parse(Browser.getText());
                            //Get Download Link
                            String DownloadLink = "https://example.com" + doc.getElementById("video-download-format").select("a").first().attr("href");
                            //Get Video Name
                            String VideoName = doc.getElementsByTag("h1").text();
                            //Get Uploader Name
                            String UploaderName = doc.getElementsByTag("h2").select("a").first().text();
                            //Get Download Directory
                            String DownloadPath = DownloadLocation.getText();
                            //Compile Filename
                            String FileName = DownloadPath + "/" + UploaderName + " - " + VideoName + ".mp4";
                            //Start Download
                            Browser.setUrl(DownloadLink);
                            String test = Browser.getData().toString();
                            System.out.println(test);
                        }else {
                            System.out.println("Nothing Selected");
                        }
                }
            }
        });

Так что мой вопрос, есть ли какой-нибудь возможный способ обойти диалог сохранения и просто сохранить файл без взаимодействия с пользователем?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...