1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

mein Agent --- HTTP Request --- Java

Discussion in 'Programmieren' started by it-praktikant, Jul 30, 2003.

Thread Status:
Not open for further replies.
  1. it-praktikant

    it-praktikant Megabyte

    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

    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

    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.
     
Thread Status:
Not open for further replies.

Share This Page