Библиотека curl выполняет javascript внутри страниц? - PullRequest
6 голосов
/ 06 февраля 2011

Я работаю с несколькими страницами, где javascript выполняет отправку формы при загрузке страницы.

Библиотека curl автоматически выполняет javascript на веб-страницах? Если это так, есть ли способ вернуть измененный DOM вместо стандартного, который я возвращаю с простым кодом curl.

Вот мой текущий код:

    $curl_handle=curl_init();
    curl_setopt($curl_handle,CURLOPT_URL,$url);
    $buffer = curl_exec_follow($curl_handle,10);        
    curl_setopt($curl_handle,CURLOPT_HEADER, 0);
    curl_setopt($curl_handle,CURLOPT_FOLLOWLOCATION, 1); 
    $buffer = curl_exec($curl_handle);

Ответы [ 3 ]

13 голосов
/ 06 февраля 2011

Нет, это не так. Также не применяются стили CSS.

2 голосов
/ 06 февраля 2011

Нет . Веб-страница со встроенным JavaScript на самом деле является программой. CURL предоставляет вам исходный код программы (HTML и JavaScript), но не запускает эту программу.

Чтобы запустить встроенный JavaScript-код страницы, вам потребуется (1) интерпретатор JavaScript и (2) объектная модель документа (DOM) для страницы.

Браузеры имеют такие, но PHP не .

Люди работают над этими версиями PHP, но разработка их - большие задачи.

Если это то, что вам нужно, вы можете пропустить PHP и вместо этого взглянуть на написание кода C ++ с использованием WebKit.

1 голос
/ 06 февраля 2011

PHP curl НЕ является полноценным браузером.Это просто библиотека, которая используется для связи с серверами, используя HTTP, FTP и так далее.Он не выполняет ни рендеринга, ни разбора.

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