Ave,
nachdem ich nun doch drei Tage mit dem einen Problem mich abschlage, immer wieder denke, dass ich nun endlich von Erfolg gekrönt bin, bekomme ich nur gezeigt, dass es so nicht funktioniert und ich wohl einen Denkfehler habe.
Ich hoffe nun, dass Ihr mir weiterhelfen könnt.
Gewünscht:
I. Einloggen in die Webseite
II. Weitere Unterseite der Webseite aufrufen um diese dann danach zu analysieren
Punkt I funktioniert, Punkt II dagegen nicht. Hier bekomme ich dann gesagt, dass von meiner Seite aus keine Cookies akzeptiert werden würden, oder ich einfach nicht die nötigen Rechte besitze, die Seite angezeigt zu bekommen, weil der User den ich eingeloggt habe nicht mehr eingeloggt ist, respektive erkannt werden kann.
Siehe hierzu den Logauszug:
Hier will mir nicht in den Schädel, wieso eine neue PHPSESSID vergeben wird,.
IMHO bleibt die SESSIONID, korrigiert mich wenn ich falsch liegen sollte, wärend ein User auf einem System herumschwirrt immer gleich, jedenfalls bis zu dem Zeitpunkt wo sich der Dösbaddel ausloggt.
Hier mal etwas Java-Source:
Ich wäre sehr dankbar wenn mir jemand mal aufzeigt, wo mein(e) Fehler liegt/liegen.
Ich persönlich bin momentan an einem Punkt angelangt, an dem meine Tischkante leidet, beissenderweise.
Grüße
Jean
nachdem ich nun doch drei Tage mit dem einen Problem mich abschlage, immer wieder denke, dass ich nun endlich von Erfolg gekrönt bin, bekomme ich nur gezeigt, dass es so nicht funktioniert und ich wohl einen Denkfehler habe.
Ich hoffe nun, dass Ihr mir weiterhelfen könnt.
Gewünscht:
I. Einloggen in die Webseite
II. Weitere Unterseite der Webseite aufrufen um diese dann danach zu analysieren
Punkt I funktioniert, Punkt II dagegen nicht. Hier bekomme ich dann gesagt, dass von meiner Seite aus keine Cookies akzeptiert werden würden, oder ich einfach nicht die nötigen Rechte besitze, die Seite angezeigt zu bekommen, weil der User den ich eingeloggt habe nicht mehr eingeloggt ist, respektive erkannt werden kann.
Siehe hierzu den Logauszug:
PHP:
2008/11/15 20:16:27:655 CET [DEBUG] header - >> "Cookie: ServerID=1114;PHPSESSID=21fbad12ca9e17619755f221f44d463f;[\r][\n]"
...Irrelevates gelöscht...
2008/11/15 20:16:27:657 CET [DEBUG] header - >> "Cookie: $Version=0; ServerID=1114; $Path=/[\r][\n]"
2008/11/15 20:16:27:657 CET [DEBUG] header - >> "Cookie: $Version=0; PHPSESSID=21fbad12ca9e17619755f221f44d463f; $Path=/[\r][\n]"
2008/11/15 20:16:27:660 CET [DEBUG] header - >> "Content-Length: 55[\r][\n]"
...Irrelevantes gelöscht...
2008/11/15 20:16:28:086 CET [DEBUG] header - << "HTTP/1.0 200 OK[\r][\n]"
2008/11/15 20:16:28:086 CET [DEBUG] header - << "HTTP/1.0 200 OK[\r][\n]"
2008/11/15 20:16:28:087 CET [DEBUG] header - << "Date: Sat, 15 Nov 2008 19:16:27 GMT[\r][\n]"
2008/11/15 20:16:28:087 CET [DEBUG] header - << "Server: Apache[\r][\n]"
2008/11/15 20:16:28:087 CET [DEBUG] header - << "P3P: CP="CAO OUR"[\r][\n]"
2008/11/15 20:16:28:087 CET [DEBUG] header - << "Expires: Thu, 19 Nov 1981 08:52:00 GMT[\r][\n]"
2008/11/15 20:16:28:088 CET [DEBUG] header - << "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0[\r][\n]"
2008/11/15 20:16:28:088 CET [DEBUG] header - << "Pragma: no-cache[\r][\n]"
2008/11/15 20:16:28:088 CET [DEBUG] header - << "Set-Cookie: PHPSESSID=f449535feb2032ff890e9b7e2964c8a9; path=/[\r][\n]"
2008/11/15 20:16:28:088 CET [DEBUG] header - << "Connection: close[\r][\n]"
2008/11/15 20:16:28:088 CET [DEBUG] header - << "Content-Type: text/html[\r][\n]"
2008/11/15 20:16:28:088 CET [DEBUG] header - << "[\r][\n]"
2008/11/15 20:16:28:089 CET [DEBUG] HttpMethodBase - Cookie accepted: "$Version=0; PHPSESSID=f449535feb2032ff890e9b7e2964c8a9; $Path=/"
Hier will mir nicht in den Schädel, wieso eine neue PHPSESSID vergeben wird,.
IMHO bleibt die SESSIONID, korrigiert mich wenn ich falsch liegen sollte, wärend ein User auf einem System herumschwirrt immer gleich, jedenfalls bis zu dem Zeitpunkt wo sich der Dösbaddel ausloggt.
Hier mal etwas Java-Source:
PHP:
import java.io.IOException;
import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.cookie.CookieSpec;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
public class CommonsHttpClientExample {
public static login(String username, String userpassword) throws Exception
{
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost("www.test.de", 80, "http");
client.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
GetMethod getMethod = new GetMethod("/index.php");
getMethod.setRequestHeader("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
getMethod.setRequestHeader("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
getMethod.setRequestHeader("Keep-Alive", "300");
getMethod.setRequestHeader("Connection", "keep-alive");
client.executeMethod(getMethod);
getMethod.releaseConnection();
// User in das System einloggen
PostMethod postMethod = new PostMethod("/index.php");
client.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
postMethod.addRequestHeader("Referer", "http://www.test.de/start.php");
postMethod.setRequestHeader("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
postMethod.setRequestHeader("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
postMethod.setRequestHeader("Keep-Alive", "300");
postMethod.setRequestHeader("Connection", "keep-alive");
postMethod.addParameter("loginName", username);
postMethod.addParameter("pass", userpassword);
postMethod.addParameter("logIn", "1");
client.executeMethod(postMethod);
analyse = postMethod.getResponseBodyAsString();
postMethod.releaseConnection();
if (analyse != null)
{
System.out.println("Daten empfangen! Eingeloggt!");
}
else
{
System.out.println("Keine Daten empfangen!");
}
}
public static void getDataPage()
{
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost("www.test.de", 80, "http");
client.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
String page = "/naechsteseite.php";
PostMethod postMethod = new PostMethod( page );
postMethod.setRequestHeader("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
postMethod.setRequestHeader("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
postMethod.setRequestHeader("Keep-Alive", "300");
postMethod.setRequestHeader("Connection", "keep-alive");
try
{
client.executeMethod(postMethod);
GetMethod getMethod = new GetMethod(page);
getMethod.setRequestHeader("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
getMethod.setRequestHeader("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
getMethod.setRequestHeader("Keep-Alive", "300");
getMethod.setRequestHeader("Connection", "keep-alive");
String analyse = new String();
client.executeMethod(getMethod);
analyse = getMethod.getResponseBodyAsString();
}
catch (HttpException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*/
public static void main(String[] args) throws Exception {
System.getProperties().setProperty("httpclient.useragent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.10) Gecko/20050717 Firefox/1.0.6");
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "debug");
login("username", "passwort"); // Einloggen
getDataPage(); // Daten holen
}
}
Ich wäre sehr dankbar wenn mir jemand mal aufzeigt, wo mein(e) Fehler liegt/liegen.
Ich persönlich bin momentan an einem Punkt angelangt, an dem meine Tischkante leidet, beissenderweise.
Grüße
Jean