Tatsächliche URL ermitteln

Status
Nicht offen für weitere Antworten.

inflamer

Bekanntes Mitglied
Hallo!

folgendes Problem, das bestimmt einfach zu lösen ist,
man muss _einfach_ nur wissen wie... ;)

mein Programm soll eine HTML-Datei nach Bild-URLs parsen und diese anschliessend
herunterladen, ähnlich wie dies ein Web-Browser auch macht. Bei Bildern mit absoluten
Pfadangaben ist es soweit kein Problem, nicht so bei Bildern, wo nur der zur
enthaltenden HTML-Datei relative Pfad angegeben ist, z.B. "/images/logo.jpg"...

Wie kann mann also z.B. bei "http://www.beispiel.de/bilder/index.anyextension"
erkennen, ob "index.anyextension" eine datei oder ein ordner ist?

URL#getPath() liefert hier 'leider' nur das, was in der URL nach dem Host kommt,
nämlich "/bilder/index.anyextension", ähnlich URL#getFile()...

(Im HTTP-Header steht sowas auch nicht drin.)
 
G

Gast

Gast
rausfinden, ob sich hinter einer url eine datei oder ein ordner verbirgt ist nicht moeglich.
aber wozu glaubst du auch das zu brauchen?
bei relativen angaben musst du doch nur die url vorne dranhaengen, von der du die datei her hast, die du parst (hierbei alles bis zum letzten "/").

gruss
gast
 

inflamer

Bekanntes Mitglied
Gast hat gesagt.:
bei relativen angaben musst du doch nur die url vorne dranhaengen, von der du die datei her hast, die du parst (hierbei alles bis zum letzten "/").

gruss
gast

Hallo!

Das Problem ist, wie gesagt, dass sobald Du eine URL hast wie "http://www.beispiel.de/xyz", weiss das Programm nicht mehr, ob "xyz" nun ein ordner ist, der z.B. eine "index.html" beinhaltet, oder ob "xyz" selbst eine html-datei ist.
Soll dem relativen Pfad, den das Programm beim Parsen in der gelieferten HTML vorfindet, nun "http://www.beispiel.de/xyz/" oder "http://www.beispiel.de/" vorangestellt werden?

Eine Lösung konnte ich bereits finden, die geht ungefähr so (wen's interessiert):

Code:
URL url = new URL("http://www.beispiel.de/xyz");
URLConnection con = url.openConnection();
// jetzt kommts: einen HTTP-Request auslösen, z.B. durch eine
// abfrage des MIME-Types der Resource
con.getContentType();
url = con.getURL();

Nach einem HTTP-Request wird der URL ein Slash angehängt, sofern
"xyz" ein ordner ist. Keine schöne Lösung, ich weiss, für eine bessere
wäre ich nach wie vor dankbar.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
WerIstDerBoogieman? Wlan Lautsprecher: IP ermitteln? Netzwerkprogrammierung 6
D Ermitteln ob WLAN-Netzwerk UDP unterstützt Netzwerkprogrammierung 1
S Verbingungsart ermitteln Netzwerkprogrammierung 8
F HTTP HTTP-Download: Dateien in einem Verzeichnis ermitteln Netzwerkprogrammierung 8
H Eine Mac-Adresse übers Internet ermitteln Netzwerkprogrammierung 2
M DSL Geschwindigkeit ermitteln Netzwerkprogrammierung 8
c_sidi90 Alle Rechner im Netzwerk ermitteln Netzwerkprogrammierung 17
W Socket Client ermitteln//Code inside Netzwerkprogrammierung 2
U Name eines Netzlaufwerks ermitteln Netzwerkprogrammierung 5
P Name der Download-Datei ermitteln Netzwerkprogrammierung 8
0din Handy schnittsteller ermitteln Netzwerkprogrammierung 8
U Server-IP in Applet ermitteln Netzwerkprogrammierung 4
T IP Adresse mit Hilfe der MAC Adresse ermitteln Netzwerkprogrammierung 3
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
E Größe der Datei vor Download ermitteln Netzwerkprogrammierung 3
G Eigene IP-Adresse hinter Router ermitteln Netzwerkprogrammierung 1
K ServerIP ermitteln Netzwerkprogrammierung 8
T Am RMI-Server: IP des Clients ermitteln? Netzwerkprogrammierung 2
A Methode zum ermitteln des DHCP-Servers & DNS-Servers? Netzwerkprogrammierung 8
A aktive Internetverbindung ermitteln Netzwerkprogrammierung 13
S Verbindungen der Browser ermitteln? Netzwerkprogrammierung 9
U Ende eines Inputstreams ermitteln Netzwerkprogrammierung 3
S Server ermitteln Netzwerkprogrammierung 8
C IP adresse anhand einer domain adresse auslesen / ermitteln Netzwerkprogrammierung 3
G Anzahl verbundener Clients zu einem FTP-Server ermitteln? Netzwerkprogrammierung 4
P HTTPS - öffentliches Zertifikat - ermitteln Netzwerkprogrammierung 5
A Betriebssystem über Netzwerk ermitteln Netzwerkprogrammierung 11
O IP adresse ermitteln Netzwerkprogrammierung 11
G freie ports ermitteln? Netzwerkprogrammierung 3
F konfigurierte Netzwerkverbindunge/DFÜ-Verbindungen ermitteln Netzwerkprogrammierung 4
Z externe IP ermitteln Netzwerkprogrammierung 16
G Redirects einer HttpURLConnection ermitteln Netzwerkprogrammierung 4
G Bandbreite ermitteln! Netzwerkprogrammierung 1

Ähnliche Java Themen


Oben