2009-06-19 8 views
1

J'utilise POST pour soumettre un formulaire à un serveur de connexion basé sur le Web à partir d'une application Java.La soumission de formulaire HTML de Java nécessite des cookies et un bloqueur de fenêtres publicitaires

Cependant, la page web nécessite des cookies et un bloqueur de pop-up, qui sont détectées et traitées dans un init() fonction javascript:

if (document.cookie == "") { 
     alert("Cookies are disabled. Cannot access server with this setting.\nPlease configure your browser to accept cookies."); 
     return; 
    } 

detectPopupBlockers(); 

Il semble que les cookies ne sont jamais utilisés dans la fonction detectPopupBlockers() (pour indiquer qu'un message a déjà été affiché si l'utilisateur n'a pas de bloqueur de popup activé).

Est-il possible d'éviter complètement la fonction init() appelée par le paramètre onload? Ou en quelque sorte émuler que les cookies et un bloqueur de popups sont en fait activés? Ma seule supposition à une troisième option est de rejeter d'une manière ou d'une autre le message contextuel en me disant que je n'ai pas de cookies et de soumettre le formulaire de toute façon.

+0

Si vous envoyez par programme le formulaire, comment ce Javascript fonctionne-t-il pour générer un problème? Peut-être que le serveur attend votre requête avec un cookie (dans ce cas, écrivez simplement votre code pour obéir à l'en-tête Cookie qu'il vous envoie, puis refaites la demande). –

+0

S'il vous plaît excusez-moi, je suis assez nouveau à ce sujet, mais votre question semble valable. Le script ne devrait même pas fonctionner. Y a-t-il un problème avec la façon dont je soumets la demande POST? PrintStream ps = new PrintStream (myHttpURLConnection.getOutputStream()); ps.print ("nom d'utilisateur =" + nom d'utilisateur + "& pwd =" + password.toString()); –

Répondre

1

S'il lié comme ceci:

<body onload="init();"> 

Ou comme ceci:

document.body.onload = init; 

Vous pouvez simplement faire ceci:

document.body.onload = null; 

directement sous la balise body.

+0

Malheureusement, je ne peux pas éditer le fichier distant. –

2

Je suppose que vous utilisez quelque chose comme WebClient pour faire l'affichage - ne pourriez-vous pas simplement désactiver Javascript et contourner complètement les contrôles?

+0

J'utilise juste la classe HttpURLConnection de java, rien de tel que WebClient –

Questions connexes