WebBrowser et erreur javascript OU envoi de données web (formulaire)

Résolu
Siteauludo Messages postés 60 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 mai 2007 - 1 mars 2007 à 16:51
Siteauludo Messages postés 60 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 mai 2007 - 15 mai 2007 à 16:23
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

Siteauludo Messages postés 60 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 mai 2007
1 mars 2007 à 16:56
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.
3
pardal_n Messages postés 29 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 22 mai 2007
15 mai 2007 à 16:04
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
3
Siteauludo Messages postés 60 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 mai 2007
15 mai 2007 à 16:23
Bah merci beaucoup, en fait ça va m'être très pratique.
0
Rejoignez-nous