2009-06-19 6 views
1

Ich verwende POST, um ein Formular an einen Web-basierten Login-Server von einer Java-Anwendung zu senden.HTML-Formular-Übermittlung von Java erfordert Cookies und einen Popup-Blocker

erfordert jedoch die Webseite sowohl Cookies und Popup-Blocker, die in einem init erkannt und behandelt werden() JavaScript-Funktion:

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

detectPopupBlockers(); 

Es scheint, dass diese Option in dem detectPopupBlockers verwendet immer nur ist() Funktion (um anzuzeigen, dass eine Nachricht bereits angezeigt wurde, wenn der Benutzer keinen Popup-Blocker aktiviert hat).

Gibt es eine Möglichkeit, die init() - Funktion, die vom onload-Parameter aufgerufen wird, vollständig zu vermeiden? Oder emulieren Sie irgendwie, dass Cookies und ein Popup-Blocker tatsächlich aktiviert sind? Meine einzige Vermutung bei einer dritten Option ist, die Popup-Nachricht irgendwie abzulehnen, die mir sagt, dass ich keine Cookies habe und das Formular trotzdem absende.

+0

Wenn Sie das Formular programmatisch übermitteln, wie wird dieses Javascript jemals ausgeführt, um ein Problem zu erzeugen? Vielleicht erwartet der Server gerade, dass Ihre Anfrage mit einem Cookie kommt (in diesem Fall schreiben Sie einfach Ihren Code, um den Cookie-Header zu befolgen, den er Ihnen sendet, und wiederholen Sie dann die Anfrage). –

+0

Bitte entschuldigen Sie, ich bin ziemlich neu, aber Ihre Frage scheint gültig zu sein. Das Skript sollte nicht einmal ausgeführt werden. Ist etwas falsch mit der Art, wie ich die POST-Anfrage einreiche? PrintStream ps = neuer PrintStream (meinHttpURLConnection.getOutputStream()); ps.print ("Benutzername =" + Benutzername + "& pwd =" + password.toString()); –

Antwort

1

Wenn es bestimmt sein wie so:

<body onload="init();"> 

Oder wie folgt aus:

document.body.onload = init; 

Sie können dies nur tun:

document.body.onload = null; 

Direkt unter dem Body-Tag.

+0

Leider kann ich die Remote-Datei nicht bearbeiten. –

2

Ich gehe davon aus, dass Sie etwas wie WebClient verwenden, um den Beitrag zu schreiben - könnten Sie Javascript nicht einfach deaktivieren und die Überprüfungen zusammen umgehen?

+0

Ich benutze nur Java HttpURLConnection Klasse, nichts wie WebClient –