|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2003
Messaggi: 100
|
[JAVA] Come passare header HTTP a iexplore.exe
Salve a tutti, ho un problema che spero qualcuno di voi possa aiutarmi a risolvere.
Sto cercando di sviluppare un'applicazione Java che apra una socket con un sito web e negozi gli headers HTTP (GET, Host, User-Agent, Accept-Language...). Fin qui è stato abbastanza facile; quello che però vorrei fare e passare questi headers a internet explorer (iexplore.exe) per far aprire la pagina web in modo da poterla visualizzare per bene. Spero di essere stato chiaro...per qualunque domanda o risposta contattatemi pure in privato (se volete). Un saluto Gio |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
L'unica cosa che mi viene in mente è utilizzare qualcosa del tipo:
Codice:
String urlSito = "www.hwupgrade.it"; Runtime runtime = Runtime.getRuntime(); Process ieProcess= runtime.exec("C:\\Programmi\\Internet Explorer\\iexplore.exe "+urlSito); |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2003
Messaggi: 100
|
Grazie per la risposta, ma quello che sto cercando di fare è definire la request HTTP che fa internet explorer, modificandone gli header. O almeno far sì che io crei la richiesta e internet explorer riceva la risposta del server web.
Gio |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Ciao,
stavo pensando che se apri la socket da programma Java, poi ovviamente devi essere tu a gestire i dati di ritorno, e non qualcun altro. (o forse ho capito male il problema). Non vedo altre soluzioni che: - aprire la connessione; - leggere la pagina di ritorno; - Chiudere la connessione (o meglio, il server te la chiude); - Passare l'output a IE, magari in un file temporaneo. Non conosco IE e non so se ha altre modalita' per passargli una pagina. In alternativa, puoi gestire la pagina html all'interno del tuo programa Java, poiche' la JEditorPane non e' malaccio. Se poi non fosse sufficiente, immagino che in Internet si trovi un browser Java "preconfezionato", che con poche istruzioni tu possa adattare (o addirittura gia' un JComponent in libreria). High Flying Sottovento |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Oct 2003
Messaggi: 100
|
Sì, ricecvere i dati dalla socket si può fare e metterli in un file temporaneo, pure, ma credo che si possa evitare questo passaggio intermedio.
In ogni caso proverò col JEditorPane. Grazie della risposta Gio |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
implementa un proxy:
.java apre un socket in ascolto suna porta x .da explorer chiami java sulla porta x o imposti java nelle impostazioni di connessione come un proxy .java riceve la chiamata da explorer e ne modifica gli header http a suo piacimento (può anche ignorare completamente e riscrivere tutto da zero) .java effettua la chiamata http al server remoto .il server remoto risponde .java gira la risposta a explorer
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Oct 2003
Messaggi: 100
|
Grazie mille Angus! E' un'ottima idea. Io speravo però di poter avere un controllo direttamente sul browser (non so qualche API di Internet Explorer già pronta ^_^)
Grazie ancora Gio |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:57.