WebBrowser et erreur javascript OU envoi de données web (formulaire) [Résolu]

Signaler
Messages postés
60
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
15 mai 2007
-
Messages postés
60
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
15 mai 2007
-
Bonjour,

Je suis en train de faire un petit programme qui me permettrai de récuperer des infos sur les jeux de jeuxvideo.com.

Donc pour trouver un jeu, je fais ça :

########################################
StreamWriter

queryFileStreamWriter =
new
StreamWriter(
Path.Combine(
Application.StartupPath,
"lastQuery.html"),
false,
UTF8Encoding.UTF8);

//Structure
queryFileStreamWriter.WriteLine(
"<html>");
queryFileStreamWriter.WriteLine(
"<head>");
queryFileStreamWriter.WriteLine(
"<title>queryPage</title>");
queryFileStreamWriter.WriteLine(
"</head>");
queryFileStreamWriter.WriteLine(
"");

//Formulaire
queryFileStreamWriter.WriteLine(
"<form name="queryForm" method="get" action= "http://www1.jeuxvideo.com/cgi-bin/redsearch.cgi">");
queryFileStreamWriter.WriteLine(
"+ToSearch+
""/>");
queryFileStreamWriter.WriteLine(
"<select name="range">");
queryFileStreamWriter.WriteLine(
"<option value="0">JEUX</option>");
queryFileStreamWriter.WriteLine(
"<option value="8">NEWS</option>");
queryFileStreamWriter.WriteLine(
"</select>");
queryFileStreamWriter.WriteLine(
"</form>");

//Script
queryFileStreamWriter.WriteLine(
"<script type="text/javascript">");
queryFileStreamWriter.WriteLine(
"<!--");
queryFileStreamWriter.WriteLine(
"document.queryForm.submit();");
queryFileStreamWriter.WriteLine(
"//-->");
queryFileStreamWriter.WriteLine(
"</script>");

//Structure
queryFileStreamWriter.WriteLine(
"");
queryFileStreamWriter.WriteLine(
"</html>");
queryFileStreamWriter.Close();

########################################
(Donc cette page simule le champ de recherche de jeuxvideo.com)

Et après je lance cette page dans un webBrowser, après une seconde environ j'obtient la page de résultat de jv.com.

Bref, mes question :

1) il se trouve qu'il y a une erreur javascript sur jeuxvideo.com, donc quand le webbrowser load ce site, tout bloque, et petite MessageBox : "Erreur javascript... voulez vous continuer..". Bref moi il me faut un truc automatique, on ne peut pas désactiver cette vérification ?

2) Vu que je suppose qu'on ne le peut pas (je suppose), existe-t-il un moyen pour envoyer un formulaire web à un site ? Pour les connaisseurs, c'est une requête de type _POST... Parce que j'arrive avec c# à récupérer la source d'une page, mais pas de lui envoyer des données comme pour une recherche... Je sais pas si vous me comprenez... En fait, je suis obligé d'envoyer un formulaire (complété) pour que le site m'affiche les résultats (j'ai pas accès à la base de donnée du site, bien sûr), et récupérer les résultats en fonction de la page que le site m'affiche...

Merci d'avance,

Siteauludo

3 réponses

Messages postés
60
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
15 mai 2007

Bon en fait chuis un boulet, y suffit de mettre à false la propriété ScriptErrorSupressed du webBrowser...

Mais ça m'intéresserait assez (d'un point de vue technique) de savoir si on peut envoyer des requêtes _POST à un site distant.

Merci,

Siteauludo.
Messages postés
29
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
22 mai 2007

string
PostDataStr =

"info1="
+ info1

+

"&info2="
+ info2 ;  // etc







byte
[] PostDataByte =

Encoding
.UTF8.GetBytes(PostDataStr);


string
AdditionalHeaders =

"Content-Type: application/x-www-form-urlencoded"
+

Environment
.NewLine;


webBrowser1.Navigate(





http://lesite.com/lapage.php

,

""
, PostDataByte, AdditionalHeaders);

En espérant que ca te soit autant utile que ton "ScriptErrorSupressed " que je n'avais moi non plus pas vue :p
Messages postés
60
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
15 mai 2007

Bah merci beaucoup, en fait ça va m'être très pratique.