Remplir un formulaire automatiquement...

Remplir un formulaire automatiquement... - Java - Programmation

Marsh Posté le 20-10-2006 à 09:36:47    

Bonjour à tous,  
Voilà je cherche le moyen en java de me connecter à un site Internet et de remplir un formulaire puis valider ce formulaire et récupérer l'adresse après la validation.
Pour le moment, j'essaye de faire ça avec google, mais je n'y arrive pas (j'utilise actuellement les classes HttpURLConnection et URL).
Est ce que vous pourriez me donner des indications sur comment faire ou un tutorial que je n'aurai pas trouvé ?
 :bounce:

Reply

Marsh Posté le 20-10-2006 à 09:36:47   

Reply

Marsh Posté le 20-10-2006 à 14:26:22    

Bonjour mon cher.
 
Il faut que tu repère les variables utilisées dans le formulaire, et que tu te connecte à l'adresse spécifiée dans le formulaire lors du click sur le bouton.
Cette adresse sera du genre:
 
www.google.fr/page.php?VARIABLE="valeur"
 
si ils ont un script php.
 
Voili voilou!

Reply

Marsh Posté le 20-10-2006 à 16:31:02    

Le problème c'est que le formulaire est dans une page .jsp et j'ai beau essayer de rajouter derriere ?Variable="valeur" ca ne donne rien :(
 
edit : en fait ca marche que pour certain champs mais j'arrive pas à le faire marcher pour des boutons radios et pour certain html:select ?!


Message édité par Kineas le 20-10-2006 à 17:13:55
Reply

Marsh Posté le 20-10-2006 à 23:37:46    

Tu truc est peut etre en méthode post..
Mais jsp j'y connais rien désolé.

Reply

Marsh Posté le 22-09-2009 à 21:56:35    

Je suis vachement intéressé aussi!
 
Je débute en Java et me suis fixé comme premier objectif de me connecter facilment à des sites web avec formulaire ( transport en commun) remplir automatiquement les champs de recherche ( un itinéraire quelconque) et réafficher le résultat.
 
 
Merci pour votre aide, et vive le déterrage!

Reply

Marsh Posté le 23-09-2009 à 14:40:22    

tu construit l'url de ta requête , ex :
http://www.google.fr/search?q=httpclient
 
Et en java j'utiliserais ça
http://hc.apache.org/httpclient-3.x/tutorial.html
 

Reply

Marsh Posté le 23-09-2009 à 19:15:58    

Techniquement tu dois juste faire une requête HTTP et récupérer la réponse.
 
Essaye d'abord d'envoyer les paramètres via une requête GET (et les passer dans l'URL sous la forme "?param1=toto&param2=4", si ça ne fonctionne pas alors peut-être que la page t'oblige à envoyer les données du formulaire via POST.
 
La classe java.net.URL suffit amplement pour les requêtes GET. Pour une requête POST il faut un peut bricoler mais c'est toujours possible. C'est néanmoins plus facile avec la classe Apache HttpClient dont parle Lenoiche.
 
De même, il se peut que le site fonctionne avec des cookies et oblige ton client à fournir certaines valeurs sous forme de cookies au préalable, par exemple si le client doit d'abord s'authentifier avant de récupérer les infos. Pour cela il est aussi plus simple d'utiliser HttpClient.
 
Ensuite tu récupères la réponse dans un InputStream. Il peut s'agir d'une page web en HTML, de XML ou encore de JSON selon le cas. Si c'est une page web classique, je te conseille d'utiliser la classe java.util.Scanner en combinaison avec une expression régulière compilée afin de rechercher et récupérer les valeurs qui t'intéressent: c'est la méthode la plus efficace et tu n'es pas obligé de charger la page web entière dans un String par exemple.
 
Si c'est du XML je te conseille d'utiliser un "pull parser" de type StAX.


Message édité par cbeyls le 23-09-2009 à 19:18:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed