/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
POST fra applet bag en proxy
Fra : Kasper Kau


Dato : 17-12-01 17:25

Hej,

kan man HTTP POST til applettens server når appletten kører på en klient bag
en proxy og hvordan? En løsning kunne være selv at skrive til proxyen men
hvordan finder man ud af, punkt et, OM browseren benytter en proxy (ok det
har jeg nok en ide til) og punkt to HVAD proxyen hedder?

Mvh KK



 
 
Thomas Christiansen (17-12-2001)
Kommentar
Fra : Thomas Christiansen


Dato : 17-12-01 23:14

Forstår ikke helt dit spørgsmål.

Hvis du kan nøjes med alm. HTTP trafik på port 80 (eller alternativt 8080)
er poxy'en normalt ikke noget problem.

Thomas

"Kasper Kau" <kasper@kau.dk> wrote in message
news:9vl6ej$3l8$1@sunsite.dk...
> Hej,
>
> kan man HTTP POST til applettens server når appletten kører på en klient
bag
> en proxy og hvordan? En løsning kunne være selv at skrive til proxyen men
> hvordan finder man ud af, punkt et, OM browseren benytter en proxy (ok det
> har jeg nok en ide til) og punkt to HVAD proxyen hedder?
>
> Mvh KK
>
>



Filip Larsen (17-12-2001)
Kommentar
Fra : Filip Larsen


Dato : 17-12-01 23:34

Kasper Kau skrev

> kan man HTTP POST til applettens server når appletten kører på en klient
bag
> en proxy og hvordan? En løsning kunne være selv at skrive til proxyen men
> hvordan finder man ud af, punkt et, OM browseren benytter en proxy (ok det
> har jeg nok en ide til) og punkt to HVAD proxyen hedder?

Hvis du bruger java.net.URL.openConnection() metoden (eller en af URL
metoderne der indirekte bruger denne metode) skulle din browser gerne levere
en HttpURLConnection der transparent køre via proxy hvis browseren er sat op
til det. Det virker i hvert fald med MSIE under Windows-versioner der har en
JVM. Jeg har ikke selv prøvet med Netscape, men jeg ville forvente at det
også virker her. Hvis man kører med Java plug-in er det proxy-opsætningen af
denne der bestemmer. Bemærk i øvrigt, at din applet normalt ikke selv kan
åbne en forbindelse til en evt. proxy (fx. vha. Socket klassen) da standard
applet sikkerhedsindstillinger forbyder forbindelser til andet end den vært
appletten blev hentet fra.

For at lave en POST skal du forresten også huske at enable output med et
kald til URLConnection.setDoOutput(true), skrive noget i den stream du får
med URLConnection.getOutputStream(), og endelig lukke streamen igen.

Referencer:
http://java.sun.com/products/jdk/1.1/docs/api/java.net.URL.html
http://java.sun.com/products/jdk/1.1/docs/api/java.net.URLConnection.html
http://www.google.com/search?q=java+network+programming


Mvh,
--
Filip Larsen <filip.larsen@mail.dk>



Kasper Kau (18-12-2001)
Kommentar
Fra : Kasper Kau


Dato : 18-12-01 11:57


"Filip Larsen" <filip.larsen@mail.dk> wrote in message
news:upuT7.11525$z4.1280514@news000.worldonline.dk...
> Kasper Kau skrev
>
> > kan man HTTP POST til applettens server når appletten kører på en klient
> bag
> > en proxy og hvordan? En løsning kunne være selv at skrive til proxyen
men
> > hvordan finder man ud af, punkt et, OM browseren benytter en proxy (ok
det
> > har jeg nok en ide til) og punkt to HVAD proxyen hedder?
>
> Hvis du bruger java.net.URL.openConnection() metoden (eller en af URL
> metoderne der indirekte bruger denne metode) skulle din browser gerne
levere
> en HttpURLConnection der transparent køre via proxy hvis browseren er sat
op
> til det. Det virker i hvert fald med MSIE under Windows-versioner der har
en
Det tror jeg ikke helt på. Kan du ikke give et konkret eksempel?
> JVM. Jeg har ikke selv prøvet med Netscape, men jeg ville forvente at det
> også virker her. Hvis man kører med Java plug-in er det proxy-opsætningen
af
> denne der bestemmer. Bemærk i øvrigt, at din applet normalt ikke selv kan
> åbne en forbindelse til en evt. proxy (fx. vha. Socket klassen) da
standard
Nej ok ellers skulle man få signeret adgang til dette.
> applet sikkerhedsindstillinger forbyder forbindelser til andet end den
vært
> appletten blev hentet fra.
>
> For at lave en POST skal du forresten også huske at enable output med et
> kald til URLConnection.setDoOutput(true), skrive noget i den stream du får
> med URLConnection.getOutputStream(), og endelig lukke streamen igen.
>
> Referencer:
> http://java.sun.com/products/jdk/1.1/docs/api/java.net.URL.html
>
http://java.sun.com/products/jdk/1.1/docs/api/java.net.URLConnection.html
> http://www.google.com/search?q=java+network+programming
>
>
> Mvh,
> --
> Filip Larsen <filip.larsen@mail.dk>
>
>



Filip Larsen (18-12-2001)
Kommentar
Fra : Filip Larsen


Dato : 18-12-01 21:22

Jeg skrev

> > Hvis du bruger java.net.URL.openConnection() metoden (eller en af URL
> > metoderne der indirekte bruger denne metode) skulle din browser gerne
> > levere en HttpURLConnection der transparent køre via proxy hvis
> > browseren er sat op til det. Det virker i hvert fald med MSIE under
> > Windows-versioner der har en JVM.

og Kasper Kau svarede (med en svært gennemskuelig citatstil):

> Det tror jeg ikke helt på.

Tror? Hvad er det du ikke tror på? Har du prøvet selv uden held, eller hvad?


> Kan du ikke give et konkret eksempel?

Tjoe, et minimaleksempel kunne vel være noget a'la:

import java.io.*;
import java.net.*;
...
void Object getContentUsingPOST(URL url, String postData)
{
URLConnection con = url.openConnection();
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os,"ISO-8859-1");
osw.write(postData);
osw.close();
return con.getContent();
}

Jeg må ærlig indrømme, at jeg kun har brugt POST formattet til at sende og
modtage binær data (i modsætning til det mere gængse hvor man bruger POST
til at udfylde HTML forms) og derfor er lidt usikker på hvilken charset
encoding man skal bruge i sin OutputStreamWriter (jeg mener det er den
angivne) hvis man skal fylde en form ud. Jeg er heller sikker på at man selv
skal huske at lave den korrekte Content-encoding såsom x-www-form-urlencoded
eller om det sker automatisk eller måske endda kun automatisk når man sætter
Content-type til bestemte værdier. Til gengæld ved jeg at det står i en bog
jeg har på arbejdet ("Java Network Programming" fra O'Reilly så vidt jeg
husker).


Mvh,
--
Filip Larsen <filip.larsen@mail.dk>



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste