«Запустить» HTMLUnit с PHP

Поэтому я установил Java на моем CentOS-сервере. Теперь я хочу иметь возможность использовать PHP для запуска HTMLUnit, чтобы получить полностью отображаемую веб-страницу, а затем вернуть результаты пользователю.

Я вижу «простой» пример в HTMLUnit, но я почти ничего не знаю о Java и не знаю, куда это нужно или нужно запустить, даже чтобы получить тестовый пример (т. Е. Получить домашнюю страницу Google).

public void getURL() throws Exception { final WebClient webClient = new WebClient(); final HtmlPage page = webClient.getPage("http://google.com"); // Pass in URL // RETURN "page" } 

Как только тест будет работать, мне нужно будет «пройти» по желаемому URL-адресу, а затем «захватить» выход.

Пока Гуглинг, когда я бегаю по кругу. Кто-нибудь имеет ссылку на простой пример, а затем указывает на то, как интегрировать его с PHP?

Благодаря!

Вы можете использовать вызов shell_exec () PHP для запуска строки консоли HTMLunit и записи вывода. Что касается кода, это должно заставить вас начать:

 import java.io.IOException; import java.net.URL; import java.util.List; import java.lang.String; import com.gargoylesoftware.htmlunit.Page; import com.gargoylesoftware.htmlunit.WebClient; public class myClient { public static void main(String[] args) throws Exception { // Create and initialize WebClient object WebClient webClient = new WebClient(); HtmlPage page = webClient.getPage("http://google.com"); // Pass in URL Console.out.println(page.toString()); } } 

Затем из php:

 $html = shell_exec('/bin/javac myClient.java'); 

Я не могу проверить это на данный момент, поэтому извините за ошибки кода.

Получить HTML с помощью java


     import java.io.BufferedWriter;
     import java.io.IOException;
     import java.io.OutputStreamWriter;
     import java.net.URL;
     import java.util.List;
     import java.lang.String;

     import com.gargoylesoftware.htmlunit.Page;
     import com.gargoylesoftware.htmlunit.WebClient;
     import com.gargoylesoftware.htmlunit.html.HtmlPage;

     public class GetHtml {

         public static void main (String [] args) throws IOException {
             WebClient webClient = новый WebClient ();
             . WebClient.getOptions () setThrowExceptionOnScriptError (ложь);
             . WebClient.getOptions () setThrowExceptionOnFailingStatusCode (ложь);
             webClient.getOptions () setJavaScriptEnabled (ложь).
             HtmlPage page = webClient.getPage ("http://google.com");  // Передать URL
             String originalHtml = page.getWebResponse (). GetContentAsString ();
             System.out.println (originalHtml);
         }

     }

Получить результат от php


     exec ("java -jar", $ output);

$ output – ваши ожидаемые данные.