mein Agent --- HTTP Request --- Java

Dieses Thema im Forum "Programmieren" wurde erstellt von it-praktikant, 30. Juli 2003.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    Proxy\' mit Java programmieren. Eigentlich wollte ich nur mal wissen, was die einzelnen Browser so in den HTTP Request mit reinpacken, so bin ich darauf gekommen, sowas zu machen. Ich will damit auch keinen Preis gewinnen, mich interessiert das nur mal.

    Also, der HTTP Request ist so aufgebaut:

    Methode <space> URI <space> HTTP Version

    Also im Normalfall zum Beispiel:
    "GET http://www.pcwelt.de HTTP/1.1"

    Meine Frage ist nun, welche Klasse ich in Java nehmen könnte, um diese erste Zeile des Requestes abzufangen, denn ich will das automatisch von Java/ meinem Agenten machen lassen, dass er mit den Host, Port, Path unr Query zurückgibt. Leider finde ich nur Klassen, die eine URI haben wollen, aber keine Requestzeile und dann alles selbst rausschnippeln.

    Irgendwelche Ideen?

    Im Moment schneide ich einfach die URI zwischen den Spaces raus, dabei geht mir aber die HTTP Version und die Methode versoren, was zwar nichts macht, aber ich kann es im Falle eines Falles dann einfach nicht so schön erweitern, deshalb diese dumme Frage.

    Wäre toll, wenn sich einer melden würde. Danke :-D

    Ciao it.
     
  2. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    Hallo,

    bei der HttpUrlConnection habe ich auch schon geschaut. Der Constuctor will aber eine URL haben, ich habe jedoch im Zweifelsfall einen ganzen Request mit GET und HTTP Version.

    Habe es einfach rausgeschnitten, je nach Spaces. Ist zwar nicht ganz so nett, aner vielmehr macht die HttpUrlConnection ja auch nicht.

    Trotzdem Danke.

    Ciao it.

    PS: Das mit den Sockets ist mir klar, trotzdem danke :-D Glaube aber, dass ich zwei Sockets brauche und Hashtabelle nehme ich nicht. Ich leite einfach an den Client (Brwoser) weiter. Fertig is.
     
  3. SValmont

    SValmont Byte

    Registriert seit:
    13. Mai 2003
    Beiträge:
    9
    Hallo,

    also, es gibt verschiedene Klassen, die verschiedene Dinge machen, die Du willst, Du kannst mehrere davon benutzen, manche kombineren, manche brauchst Du nicht...

    1) Um die Strings auseinander zu nehmen, koenntest Du die Klasse StringTokenizer benutzen, verstehe nicht so ganz, warum Du den Rest des Trings immer verlierst, wenn Du die Adresse extrahierst, mach es doch einfach Schrittweise und mit String.indexOf(String str)

    2) Du koenntest Dir auch mal die Klasse HttpURLConnection anschauen, die implemetiert ja alles, was Du für einen Proxy brauchst.

    Ich verstehe jetzt nicht so Recht, ob Du jetzt sozusagen alles von Hand machen willst, dann kannst Du ja ganz einfach Sockets benutzen, also einmal einen Serversocket für Anfragen (also von Deinen Clients (Deinem Browser), einmal öffnest Du einfach dir Sockets zu dem Server. Jetzt musst Du eigentlich nur noch die Sachen vom einen Socket in den anderen "pipen", die Daten in Dateien zwischenspeichern, und diese Information (adresse, lokale Proxy-Datei) speichern, dazu eignet sich natuerlich eine Hashtable, die ziemlich schnell im Zugriff ist.

    So, das sollte erst mal reichen als Anregung, falls noch Fragen sind, einfach nochmal posten.

    S.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen