2010-01-06 3 views
0

У меня есть веб-страницу с кнопку отправки, и я хотел бы PHP для разбора веб-страницу и нажмите на кнопку отправить и получить ответ (это может быть ссылка или другой HTML-страницы.)нажав на кнопку отправить с помощью PHP

Есть ли способ щелкнуть кнопку отправки с помощью php?

Я знаю, что есть что-то вроде htmlunit для java, что позволяет про грамматически заполнять поля формы и нажать кнопку отправки. Но я хотел бы сделать то же самое в php.

Благодаря

ответ

0

CURL позволит вам получить результаты отправки формы

например

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $urlOfFormSubmission); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array(

     "field1"=>"data1", 
     "field2"=>"data2" 

    )); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$contents = curl_exec($ch); 

Вы также можете сделать то же самое с функции потока PHP

например

$params = array('http' => array(
      'method' => "post", 
      'content' => array("field1"=>"data1", "field2"=>"data2") 
     )); 

$ctx = stream_context_create($params); 

$fp = @fopen($urlOfFormSubmission, 'rb', false, $ctx); 

if (!$fp) 
{ 
    throw new Error("Problem with ".$urlOfFormSubmission); 
} 

$contents = @stream_get_contents($fp); 

if ($contents === false) 
{ 
    throw new Error("Problem reading data from ".$urlOfFormSubmission); 
} 

В любом случае, $ содержание должно содержать результаты отправки формы

+0

Привет, Если веб-страница после нажатия кнопки отправки перенаправлении webpage_1 то, какое содержание будет это одно шоу? Содержимое веб-страницы или содержимого веб-страницы_1? Я также попробую. – user244724

1

Посмотрите на систему Selenium веб-тестирования приложений.

0

Библиотека SimpleTest Библиотека PHP также имеет сканер страниц, который может анализировать HTML-страницу и генерировать соответствующий запрос POST.

0

phpWebHacks выглядит перспективным для решения этой задачи.

Особенности, как указано на сайте:

* Support HTTP/1.1 
* Fetch web pages. 
* Submit forms and upload files. 
* Support https. 
* Support HTTP cookies. 
* Support HTTP redirects and Meta-refresh redirects. 
* Support HTTP Authentication. 
* Support proxy server. 
* Support gzip encoding. 
* Logging of HTTP streams for full debugging. 
* Parsing HTML forms. 
* Custom User-Agent. 
Смежные вопросы