Поэтому я установил 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 – ваши ожидаемые данные.