Ja Det cut'n'pastet med det svar når jeg bruger følgende kode... jeg ved
ikke om jeg bruger den korrekte kode eller om jeg bruger classenen
rigtigt... Jeg er specielt i tvivl om jeg gør det rigtige der hvor jeg
exstractor cookien og sender den tilbage igen... Jeg har arbejdet med det
her i lang tid og er hele tiden kørt fast ved cookies når jeg har angrebet
problemet fra flere forskellige vinkler...
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.MalformedURLException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class CodeTest {
public static void main(String[] args) {
URL myURL;
HttpURLConnection conn = null;
try {
myURL = new URL("
http://www.hattrick.org");
conn = (HttpURLConnection) myURL.openConnection();
} catch(MalformedURLException e) {
System.err.println(e.toString());
} catch(IOException e) {
System.err.println(e.toString());
}
int n=1; // n=0 has no key, and the HTTP return status in the value field
boolean done = false;
while (!done){
String headerKey = conn.getHeaderFieldKey(n);
String headerVal = conn.getHeaderField(n);
if (headerKey!=null || headerVal!=null) {
System.out.println(headerKey+"="+headerVal);
} else {
done = true;
}
n++;
}
// Henter Hele Strengen representeret af "Set-Cookie"
String cookie = conn.getHeaderField("Set-Cookie");
System.out.println("");
System.out.println("De næste par linie viser processen i cookie
udskillelsen...");
System.out.println(cookie);
// Trækker den brugbare del af cookien før ; ud
int index = cookie.indexOf(";");
if(index >= 0) cookie = cookie.substring(0, index);
System.out.println(cookie);
// Her Skiller Vi key fra Value i Coookien
String cookieK = null;
String cookieV = null;
index = cookie.indexOf("=");
if(index >= 0) cookieK = cookie.substring(0, index);
index++;
cookieV = cookie.substring(index);
System.out.println(cookieK);
System.out.println(cookieV);
// Nu skal vi sende cookien tilbage i en ny request til serveren
URL menuURL = null;
InputStream bodyInputStream = null;
InputStreamReader bodyInputStreamReader = null;
BufferedReader bodyBufferedReader = null;
String body = null;
try {
menuURL = new URL("
http://www.hattrick.org/Common/logo.asp");
// aConn = menuURL.openConnection();
conn = (HttpURLConnection) menuURL.openConnection();
} catch(MalformedURLException e) {
System.out.println(e.toString());
} catch(IOException e) {
System.out.println(e.toString());
}
conn.setRequestProperty(cookieK, cookieV);
n=1; // n=0 has no key, and the HTTP return status in the value field
done = false;
while (!done){
String headerKey = conn.getHeaderFieldKey(n);
String headerVal = conn.getHeaderField(n);
if (headerKey!=null || headerVal!=null) {
System.out.println(headerKey+"="+headerVal);
} else {
done = true;
}
n++;
}
try {
bodyInputStream = conn.getInputStream();
bodyInputStreamReader = new InputStreamReader(bodyInputStream);
bodyBufferedReader = new BufferedReader(bodyInputStreamReader);
while((body = bodyBufferedReader.readLine())!=null) {
System.out.println(body);
}
} catch(IOException e) {
System.out.println(e.toString());
}
}
}
"Jonathan Stein" <jstein@image.dk> skrev i en meddelelse
news:3E77238A.1150EADD@image.dk...
> Daniel Jensen wrote:
>
> > Server=Microsoft-IIS/5.0
> > Date=Tue, 18 Mar 2003 12:29:43 GMT
> > Location=/Common/default.asp
> > Content-Length=140
> > Content-Type=text/html
> > Set-Cookie=ASPSESSIONIDGQQQQWVC=NNIKNEHCOEDEOAPGMAACDNJL; path=/
> > Cache-control=private
>
> Er ovenstående cut'n'pastet? Jeg får følgende svar:
>
> HTTP/1.1 302 Object moved
> Server: Microsoft-IIS/5.0
> Date: Tue, 18 Mar 2003 13:40:45 GMT
> Location: /Common/default.asp
> Content-Length: 140
> Content-Type: text/html
> Set-Cookie: ASPSESSIONIDGQQQQWVC=NPPNNEHCODPNCHNOPFOKIILG; path=/
> Cache-control: private
>
> For at få selve indholdet, skal man således lave et nyt request, med
følgende
> indhold:
>
> GET /Common/default.asp HTTP/1.1
> Host:
www.hattrick.org
> Cookie: ASPSESSIONIDGQQQQWVC=NPPNNEHCODPNCHNOPFOKIILG;
>
> - så får jeg et gigantisk frame-set, og så kan man begynde at requeste de
> enkelte frames. Husk, at adressen er relativ i forhold til den aktulle
side, så
> SRC="blank.html" skal requestes som GET /Common/blank.html HTTP/1.1 o.s.v.
>
> M.v.h.
>
> Jonathan
>
> --
> Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
> Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
> (giver mulighed for eget SSL-certifikat).
>
http://www.jsp-hotel.dk/
>
>