Hallo Jungs, und Mädels,
ich habe mich bereits 3 mal mit meiner Frage hier sichtbar gemacht und jedes mal, hat mir einer von euch wunderbare hilfe geleistet... nun möchte ich euch fragen, kann mir einer hierbei helfen, dem Resultat meiner letzten 2 Posts... ich bin am verzweifeln, der Post login funktioniert nicht, keinen Meter und ich frage mich warum, kann mir pls jemand helfen? :/
Hier mein Code:
Hier die Source für die Website, für die der Login getätigt werden soll
Und jetzt die Fragen:
1. Kann mir jemand erklären, was ich noch beachten muss, damit der Post Login funktioniert?
2. Was muss ich mit der Session ID machen
und
3. Da dies mein Anfang im bereich der Netzwerk Programmierung ist, kann mir wer dabei helfen, eine Browserengine nachzubauen - die Vorgibt Gecko zu sein, und so modifzizierbar wie möglich ist?
ich habe mich bereits 3 mal mit meiner Frage hier sichtbar gemacht und jedes mal, hat mir einer von euch wunderbare hilfe geleistet... nun möchte ich euch fragen, kann mir einer hierbei helfen, dem Resultat meiner letzten 2 Posts... ich bin am verzweifeln, der Post login funktioniert nicht, keinen Meter und ich frage mich warum, kann mir pls jemand helfen? :/
Hier mein Code:
Java:
import java.io.*;
import java.net.*;
import java.util.ArrayList.*;
import java.net.URL;
import java.net.CookieHandler.*;
import java.net.HttpURLConnection;
import java.util.List;
public class HttpConnect{
private String username;
private String password;
private String sessionid;
private String login_url;
private String sUrl;
private String url_params;
private String result;
private String cookie = "";
public void setUrlParams (String sParams){
this.url_params = sParams;
}
public void setURL (String link){
this.sUrl = link;
}
public void setUser (String name) {
this.username = name;
}
public void setPass(String phrase) {
this.password = phrase;
}
public void setUrl(String params) {
this.url_params = params;
}
public String getSessionID() {
return this.sessionid;
}
public String getPageResult(){
return this.result;
}
public String getCookies () {
return this.cookie;
}
public void login () throws Exception {
/* Link zur LoginSeite */
URL url = new URL(this.sUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
/* Parameter per POST senden */
con.setRequestMethod("POST"); /* die Zeile brauchst nicht unbedingt */
con.setDoOutput(true);
/* login/pass ist der name des entsprechenden input fields aus der html seite,
* username/ passwort sind deine login-date */
OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream());
writer.write("name="+username+"&");
writer.write("password="+password+"");
writer.flush();
writer.close();
/* Asugabe der HTML Antwort Page */
BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String headerName = null;
String line = null;
String s = "";
if (cookie == "") {
for (int i=1; (headerName = con.getHeaderFieldKey(i))!=null; i++) {
if (headerName.equalsIgnoreCase("Set-Cookie")) {
String cookie = con.getHeaderField(i);
this.cookie += cookie.substring(0,cookie.indexOf(";")) + "; ";
}
while((line = reader.readLine()) != null) {
s = s +"\n"+ line;
}
this.result = s;
}
}
System.out.println(cookie);
}
}
Hier die Source für die Website, für die der Login getätigt werden soll
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Travian de8</title>
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="content-language" content="de" />
<link href="gpack/travian_Travian_4.0_Safari/lang/de/compact.css?asd423" rel="stylesheet" type="text/css" /><link href="gpack/travian_Travian_4.0_Safari/lang/de/lang.css?asd423" rel="stylesheet" type="text/css" /> <link href="img/travian_basics.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="crypt.js?1342425972"></script>
<script type="text/javascript">
Travian.Translation.add(
{
'allgemein.anleitung': 'Anleitung',
'allgemein.cancel': 'Abbrechen',
'allgemein.ok': 'OK',
'cropfinder.keine_ergebnisse': 'Keine Suchergebnisse gefunden'
});
Travian.applicationId = 'T4.0 Game';
Travian.Game.version = '4.0';
Travian.Game.worldId = 'de88';
Travian.Game.speed = 1;
</script> </head>
<body class="v35 webkit chrome login">
<div id="wrapper">
<img id="staticElements" src="img/x.gif" alt="" />
<div class="bodyWrapper">
<img style="filter:chroma();" src="img/x.gif" id="msfilter" alt="" />
<div id="header">
<div id="mtop">
<a id="logo" href="http://www.travian.de/" target="_blank" title="Travian"></a>
<div id="myGameLinkHeaderWrapper">
<a id="myGameLinkHeader" class="myGameLink" href="mygame_login.php?page=avatar" title="Zeige mein Spielerprofil auf MYGAME an" target="_blank"></a>
</div>
<div class="clear"></div>
</div>
</div>
<div id="mid">
<a id="ingameManual" href="support.php" title="Hilfe">
<img src="img/x.gif" class="question" alt="Hilfe"/>
</a>
<div id="side_navi">
<ul>
<li>
<a href="http://www.travian.de/index.php" title="Startseite">STARTSEITE</a>
</li>
<li class="active">
<a href="login.php" title="Login">LOGIN</a>
</li>
<li >
<a href="anmelden.php" title="Registrieren">REGISTRIEREN</a>
</li>
<li>
<a href="http://forum.travian.de" target="_blank" title="Forum">FORUM</a>
</li>
<li class='support '>
<a href="support.php" title="Support">SUPPORT</a>
</li>
</ul>
</div> <div class="clear"></div>
<div id="contentOuterContainer">
<div class="contentTitle"> </div>
<div class="contentContainer">
<div id="content" class="login"><h1 class="titleInHeader">
Login</h1>
<script type="text/javascript">
Element.implement({
//imgid: falls zu dem link ein pfeil gehört kann dieser "auf/zugeklappt" werden
showOrHide: function(imgid) {
//einblenden
if (this.getStyle('display') == 'none')
{
if (imgid != '')
{
$(imgid).className = 'open';
}
}
//ausblenden
else
{
if (imgid != '')
{
$(imgid).className = 'close';
}
}
this.toggleClass('hide');
}
});
</script>
<div class="outerLoginBox">
<h2>Willkommen auf der Welt Travian de8!</h2>
<noscript>
<div class="noJavaScript">
JavaScript ist deaktiviert. Um Travian spielen zu können, musst du JavaScript in deinen Browsereinstellugen aktivieren. </div>
</noscript>
<div class="innerLoginBox">
<form name="login" method="POST" action="dorf1.php">
<table class="transparent loginTable">
<tr class="account">
<td class="accountNameOrEmailAddress">
Accountname oder E-Mail-Adresse </td>
<td>
<input type="text" name="name" value="JnsMy" class="text" /><br />
<div class="error LTR">
</div>
</td>
<td>
</td>
</tr>
<tr class="pass">
<td>
Passwort: </td>
<td>
<input type="password" maxlength="20" name="password" value="" class="text" /><br />
<div class="error LTR">
</div>
</td>
<td>
</td>
</tr>
<tr class="lowResOption">
<td>
Version für Spieler </td>
<td colspan="2">
<input type="checkbox" class="checkbox" id="lowRes" name="lowRes" value="1" />
<label for="lowRes">mit geringer Internetgeschwindigkeit</label>
</td>
</tr>
<tr class="lowResInfo">
<td colspan="3">
(Anmerkung: Die Karte dieser Version besitzt nicht alle Optionen) </td>
</tr>
<tr>
<td>
</td>
<td>
<button type="submit" value="Einloggen" name="s1" id="s1" onclick="document.login.w.value=screen.width+':'+screen.height;"><div class="button-container"><div class="button-position"><div class="btl"><div class="btr"><div class="btc"></div></div></div><div class="bml"><div class="bmr"><div class="bmc"></div></div></div><div class="bbl"><div class="bbr"><div class="bbc"></div></div></div></div><div class="button-contents">Einloggen</div></div></button> <input type="hidden" name="w" value="" />
<input type="hidden" name="login" value="1343608928" />
</td>
<td>
</td>
</tr>
</table>
</form>
</div>
<div class="greenbox passwordForgotten">
<div class="greenbox-top"></div>
<div class="greenbox-content">
<div class="passwordForgottenLink">
<a onclick="" href="?forgotPassword=true" class="showPWForgottenLink">
<img class="close" id="arrow" src="img/x.gif"/>Passwort vergessen? </a>
</div>
</div>
<div class="greenbox-bottom"></div>
<div class="clear"></div>
</div>
</div>
<div class="clear"> </div> </div> <div class="clear"></div>
</div> <div class="contentFooter"> </div>
</div> <div id="side_info">
<div class="news news1">
<a href="#" class="newsContent newsContentWithLink" onclick="
$H(
{
data:
{
cmd: 'news',
id: '1'
}
}).dialog(); return false;">Am 23.07.12 um 6:00 Uhr ist Welt 7 in eine neue Runde gestartet. Sei dabei und melde Dich noch heute an!</a>
<a class="newsContentMoreInfoLink" target="_blank" href="ts7.travian.de/anmelden.php">...mehr Informationen</a> </div>
<div class="news news2">
<a href="#" class="newsContent newsContentWithLink" onclick="
$H(
{
data:
{
cmd: 'news',
id: '2'
}
}).dialog(); return false;">Am 09.07.12 um 6:00 Uhr ist die 3 x Speedwelt in eine neue Runde gestartet. Sei dabei und melde Dich noch heute an!</a>
<a class="newsContentMoreInfoLink" target="_blank" href="http://tx3.travian.de/anmelden.php">...mehr Informationen</a> </div>
</div> <div class="clear"></div>
</div>
<div id="footer">
<div id="mfoot">
<a href="http://www.travian.de/" target="_blank">Startseite</a>
<a href="http://forum.travian.de" target="_blank">Forum</a>
<a href="http://www.travian.de/links.php" target="_blank">Links</a>
<a href="http://t4.answers.travian.de/" target="_blank">FAQ - Answers</a>
<a href="http://www.travian.de/agb.php" target="_blank">AGB</a>
<a href="http://www.travian.de/impressum.php" target="_blank">Impressum</a>
<div class="clear"></div>
<a id="myGameLinkFooter" class="myGameLink" href="mygame_login.php?page=travian" target="_blank" title="Besuche die MYGAME Travian Communityseite"></a>
</div>
<p class="copyright">© 2004 - 2012 Travian Games GmbH</p>
</div>
<div id="anwersQuestionMark">
<a href="http://t4.answers.travian.de/index.php?aid=21#go2answer" target="_blank" title="Hilfe"> </a>
</div> </div>
<div id="ce"></div>
</div>
<iframe
src="http://analytics.traviangames.com/piwik_route.php?app=TRAVIAN&ts=1343608928&tld=de"
style="position: absolute; height: 0px; left: 0px; overflow: hidden; top: 0px; visibility: hidden; width: 0px;"
></iframe>
</body>
</html>
Und jetzt die Fragen:
1. Kann mir jemand erklären, was ich noch beachten muss, damit der Post Login funktioniert?
2. Was muss ich mit der Session ID machen
und
3. Da dies mein Anfang im bereich der Netzwerk Programmierung ist, kann mir wer dabei helfen, eine Browserengine nachzubauen - die Vorgibt Gecko zu sein, und so modifzizierbar wie möglich ist?