Avatar billede nielyng Nybegynder
29. oktober 2004 - 09:55 Der er 7 kommentarer og
1 løsning

post til asp fra applet. (no protocol)

Hej!

Jeg har en lille applet (signed og det hele), der læser en fil på brugerens computer. Nu mangler jeg så bare at få den til at poste denne streng videre til et .asp dokkument, der skal stå for valideringen af disse data.

Min kode ser sådan her ud:

public class KeyReader extends JApplet {
String s;
    public void init() {
       
        try {
            //String home = System.getProperty("user.home");
            //User.home er : c:\documents and settins/den bruger der er logget ind!!
            String home = "C:";
            String separator = System.getProperty("file.separator");
            String kodefil = getParameter("fil");
            File file = new File(home + separator + "kode.txt");
            int length = (int) file.length();
            byte[] data = new byte[length];

            FileReader connToFile = new FileReader(file);
            BufferedReader reader = new BufferedReader(connToFile);

            s = "";
            String aLine = reader.readLine();
               
                while( aLine!=null){
                s = s + aLine;
               
                aLine = reader.readLine();
                }   
            System.out.println(s);
           
            FileInputStream fis = new FileInputStream(file);
            fis.read(data, 0, length);
            System.out.println("length=" + length);
            System.out.println(data);
           
                   
           
        } // try
        catch (IOException e) {
            if (e.getMessage() != null)
                System.out.println("e=" + e);
        } // catch
       
        //Her forsøget jeg at poste til en asp-side..
            try {
        //byte[] params = URLEncoder.encode("brugernavn=tydexx&email=yde@yogl.dk","UTF-8").getBytes();
        URL url = new URL("modtag.asp");
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setDoOutput(true);
        con.setDoInput(true);
        con.setRequestMethod("POST");
        con.setRequestProperty("Key", s);
        OutputStream out = con.getOutputStream();
        byte[] params = s.getBytes();
        out.write(params);
        out.flush();
        BufferedReader in = new BufferedReader(new InputStreamReader (con.getInputStream()));
        while (true) {
            String line = in.readLine();
            if (line == null) break;
            System.out.println(line);
        }
        in.close();
        out.close();
        con.disconnect();
        } catch (Exception e) { System.out.println("Nix "+e.getMessage());}
    }

}

og producerer en "No protocol" fejl som fanges af sidste catch..

Hvad betyder det, og hvordan kan jeg fikse det.
Avatar billede arne_v Ekspert
29. oktober 2004 - 10:01 #1
Prøv og ret

URL url = new URL("modtag.asp");

til

URL url = new URL("http://www.xxx.dk/modtag.asp");
Avatar billede arne_v Ekspert
29. oktober 2004 - 10:03 #2
Du kan evt. fiske den første del af URL med getCodeBase()
Avatar billede nielyng Nybegynder
29. oktober 2004 - 10:23 #3
Tak for det, Arne! Det ser ud til at virke efter hensigten.. Jeg skal lige teste det på serveren med den rigtige signatur, så jeg vender lige tilbage. Jeg skylder dig desuden point fra spørgsmålet applett og sessions, hvis du smider et svar der.. ;-)

/NileZzz
Avatar billede nielyng Nybegynder
29. oktober 2004 - 10:42 #4
hmmm.. appletten læser godt nok filen som den skal, men så sker der heller ikke mere.

"modtag.asp" er ind til videre blot et helt tomt dokkument, men skal selvfølgelig lige laves.. men burde appletten ikke sende browseren videre til dette dokkument, eller?
Avatar billede arne_v Ekspert
29. oktober 2004 - 11:03 #5
Nej.

Hvad appletten sender af requests (GET elle rPOST) har ingen indflydelse
på hvad der vises i browseren.
Avatar billede arne_v Ekspert
29. oktober 2004 - 11:03 #6
svar
Avatar billede nielyng Nybegynder
29. oktober 2004 - 11:21 #7
Ok! Det var da rimelig interessant.. kan jeg får appletten til at redirecte til den pågældende side? - og i så fald.. hvordan?
Avatar billede arne_v Ekspert
29. oktober 2004 - 11:22 #8
Jeg mener at du kan bruge Java applet -> Javascript til at manipulere med
browseren.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester