2010-01-06 23 views
0

J'ai une page Web avec un bouton de soumission et je voudrais php pour analyser la page Web et cliquez sur le bouton Envoyer et obtenir la réponse (il peut être un lien ou d'une autre page html.)en cliquant sur le bouton soumettre en utilisant php

Y at-il un moyen de cliquer sur un bouton d'envoi en utilisant php?

Je sais qu'il y a quelque chose comme htmlunit pour java qui permet de remplir pro-grammatiquement les champs du formulaire et de cliquer sur le bouton soumettre. Mais je voudrais faire la même chose en php.

Merci

Répondre

0

CURL vous permettra d'obtenir les résultats d'une soumission de formulaire

par exemple

$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); 

Vous pouvez également faire la même chose avec les fonctions PHP Stream

par exemple

$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); 
} 

Dans les deux cas, le contenu $ devrait contenir les résultats de la soumission du formulaire

+0

Salut, Si la page Web après avoir cliqué sur le bouton soumettre redirigeant vers webpage_1 alors, dont le contenu sera celui-spectacle? Contenu de la page Web ou du contenu de la page Web_1? Je vais essayer aussi. – user244724

1

Jetez un oeil à système de test d'application Selenium Web.

0

La bibliothèque PHP SimpleTest dispose également d'un crawler de page qui peut analyser une page HTML et générer la requête POST appropriée.

0

phpWebHacks semble prometteur pour la tâche.

Caractéristiques, cité sur le site Web:

* 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. 
Questions connexes