Bei einer Website anmelden

Nic.o

Mitglied
Hallo,

hab leider nirgens was gefunden, un hoff jetzt ihr könnt mir helfen:

Ich möchte ein programm schreiben mit der ich bei einer website (Eine community) auslesen kann, ob ich eine neue nachricht bekommen habe.

ich weiß wie ich mit java den quellcode einer seite ausgeben kann, in dem finde ich nämlich auch die anzahl meiner nachrichten im posteingang. allerdings nur wenn ich angemeldet bin.

ich weiß nicht wie ich mich mit einem Programm bei der Seite anmelden kann ?!

hat jemand vll. schon ein ähnliches Programm und ein bischen code für mich?

Danke im vorraus
 
Die Anmeldung an einer Seite kann auf verschiedene Arten implementiert sein - von der konkreten Implementierung hängt es ab, wie sich das lösen lässt. Also müsstest Du zunächst mal genauer analysieren, was bei der Anmeldung passiert. Dazu ist es hilfreich, mit einem geeigneten Tool den HTTP-Traffic zwischen Browser und Web-Server mitzuschneiden.
Bei allen Aktivitäten in dieser Richtung solltest Du aber bedenken, dass vielfach der Betreiber einer Seite die Nutzung mit irgendwelchen automatischen Logins nicht wünscht bzw. auch explizit verbietet - wie dünn das Eis ist, auf dem Du Dich da bewegst, hängt von den Nutzungsbedingungen der jeweiligen Community ab.
 
Hey,

hab mir jetzt nochmal alles angeguckt was man mit der SuFu finden kann, aber ich grigs nicht auf die reihe.

Das problem ist ich kenn mich mit webanwendung null aus ..

zu der anderen Sache, ich kenne den Programmierer der Seite recht gut, und hatte vor ihm das fertige programm dann zu zeigen, bzw. vll. will er das dann sogar auf der Seite anbieten als eine art Tool,
möchte den aber ungern vorab schon fragen .. (Ich hab gehofft ich schaffs so xD)

kleiner auszug:
HTML:
<div class="linksbox_ohneborder">
		<div class="linkstopic">LOGIN</div>

		<div class="linkstext">
		<form action="" method="post" style="display:inline;" class="myformlogin">
			<table cellpadding="0" cellspacing="0" border="0">
				<tr>
					<td colspan="2">Benutzername<br><input name="username" type="text" style="width:180px;" class="inputfeld" /></td>
				</tr>
				<tr>
					<td style="padding-top:3px;" colspan="2">Passwort<br><input name="passwort" type="password" style="width:180px;" class="inputfeld" /></td>

				</tr>		
				<tr>
					<td style="padding-top:3px;"><input name="autologin" type="checkbox" value="1" title="Achtung: Wenn du deine Zugangsdaten merken lässt, dann hat jeder, der Zugriff zu deinen PC hat auch Zugriff zu deinem Account!" /> merken</td>
					<td style="padding-top:3px; text-align:right;"><input name="login" type="submit" value="LOGIN" class="submit" /></td>
				</tr>	
				<tr>
					<td colspan="2"><div class="linkpink" style="margin-top:10px;"><a href="/index.php?page=startseite/loginreminder">Zugangsdaten vergessen?</a></div></td>
				</tr>											
			</table>

			<input type="hidden" name="loginsend" value="1">
			</form>
		</div>
		</div>

ich bin schon soweit das ich via HTTP Header mitgeschnitten habe:
username=...
passwort=...
login=LOGIN
loginsend=1

hab dann auch schon bischen programmiert aber grigs nicht auf die reihe, wenn ich die seite nach einem vermeindlichen login auslesen lande ich immer auf der "Du bist nicht eingeloggt" Seite ..
 
ich bin schon soweit das ich via HTTP Header mitgeschnitten habe:
username=...
passwort=...
login=LOGIN
loginsend=1
sieht meiner Meinung nach gut aus und sollte funktionieren wenn du das alles mitschickst

hab dann auch schon bischen programmiert aber grigs nicht auf die reihe, wenn ich die seite nach einem vermeindlichen login auslesen lande ich immer auf der "Du bist nicht eingeloggt" Seite ..

Naja, da wären jetzt deine Codeschnipssel interessant, oder was erhoffst du dir jetzt von uns? =)
Du hast ja noch nicht mal erzählt welche Library(falls du eine verwenden willst) du verwendest *g*
Ich kann nur apaches empfehlen, damit gehts recht einfach
 
könnte auch an irgendwelchen cookies liegen die beim login gesetzt werden, oder du musst bei den folgendes requests ne sessionID mitschicken, oder oder oder...
Wie gesagt, nen bissl mehr Code und so wär schonmal nicht schlecht 😉
 
Also folgendes sagt HTTP Header:
Code:
http://www.onlyparty.de/index.php

POST /index.php HTTP/1.1
Host: www.onlyparty.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.10 (de)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.onlyparty.de/index.php
Cookie: __utma=183400056.47134463.1269367241.1288022169.1288022930.494; __utmv=183400056.0; idlist=15; ebNewBandWidth_.www.onlyparty.de=3986%3A1287157717986; __utmz=183400056.1285179372.425.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ebBurstingTime_.www.onlyparty.de=1287157718622; ebNewHistory_.www.onlyparty.de=1742328%3A1287157718622%3A1%3A1287157718622%3A1; __utmb=183400056.12.10.1288022930; onlyparty=54c3531c688997a044260fe37a55f830; __utmc=183400056; POPUPCHECK=1288109837141
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
username=#####&passwort=#####&login=LOGIN&loginsend=1
HTTP/1.1 302 Moved Temporarily
Date: Mon, 25 Oct 2010 16:20:05 GMT
Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8k mod_fcgid/2.3.5
X-Powered-By: PHP/5.2.12
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /index.php
Content-Length: 0
Keep-Alive: timeout=5, max=90
Connection: Keep-Alive
Content-Type: text/html

Folgendes habe ich schon "zusammen kopiert" abgeändert und versucht
Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;


public class login {
	
	public void lognow(){
		try{
			/* Link zur LoginSeite */
		    URL url = new URL("http://www.onlyparty.de/index.php");
		    HttpURLConnection con = (HttpURLConnection) url.openConnection();
		    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("username=#####&");
		    writer.write("passwort=#######&");
		    writer.write("login=LOGIN&");
		    writer.write("loginsend=1");
		    writer.flush();
		    writer.close();
		    
		    /* Asugabe der HTML Antwort Page */
		    BufferedReader reader = new BufferedReader(
		            new InputStreamReader(con.getInputStream()));
		    String line = null;
		    while((line = reader.readLine()) != null) {
		        System.out.println(line);
		    }
		    
		    /* SESSION auslesen (diese Session musst du nun in den folgenden aufrufen mitgeben, 
		     * dann bist du eingeloggt. ) */
		    List<String> cookies = con.getHeaderFields().get("Set-Cookie");
		    System.out.println(cookies);
		    
		    con.disconnect();
		  
		    url = new URL("http://www.onlyparty.de/index.php?page=community/profil");
	        con = (HttpURLConnection) url.openConnection();
	        
	        /* nun die SESSION wieder mitgeben */
	        String c = cookies.toString().replace("[", "").replaceAll("]", "");
	        con.setRequestProperty("Cookie",c);
	        
	        /* nun evtl. wieder wie vorhin POST Parameter schreiben */
	        /* und die HTML Page per con.getInputStream() auslesen */
	        /* 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 writer2 = new OutputStreamWriter(con.getOutputStream());
		    writer2.write("username=#####&");
		    writer2.write("passwort=#######&");
		    writer2.write("login=LOGIN&");
		    writer2.write("loginsend=1");
		    writer2.flush();
		    writer2.close();
		    
		    /* Asugabe der HTML Antwort Page */
		    BufferedReader reader2 = new BufferedReader(
		            new InputStreamReader(con.getInputStream()));
		    String line2 = null;
		    while((line2 = reader2.readLine()) != null) {
		        System.out.println(line2);
		    }
		    
		   
		    
		    
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

Erhofft hab ich mir ehrlichgesagt das jemand sagt: hey das hab ich schonmal gemacht, versuch mal hiermit.

was ich blos doof finde ist, das der Code den ich da aus einem anderen Thread schon habe scheinbar für meinen Fall nicht anwendbar ist. und ich zugegebenermassen viel zu wenig ahnung von web anwendungen etc. habe, leider.
 

Neue Themen


Zurück
Oben