Avatar billede daniboy Nybegynder
25. juli 2001 - 00:00 Der er 19 kommentarer og
1 løsning

Html kildekode hentet hved brug af java?

Ud fra koden her under er det da muligt at skaffe html kilden fra pågældende side?
Hvis ja
hvordan kan jeg få den kilde kode udskrevet i et JTextarea?... hvordan kan man evt. søge i kildekoden?

Hvis nej
hvordan kan jeg da få html kildekoden fra en side?

Kode udsnit:

    URL PAUrl;

    try {
      PAUrl = new URL(\"http://www.etellerandet.com:80\");
      PAUrl.openConnection();
      PAUrl.getContent();

    } catch (MalformedURLException g) {
        System.err.println(\"Der er sket følgende MalformedURLException: \"+g);
    } catch (IOException g){
        System.err.println(\"Der er sket følgende IOException: \"+g);
    }
    }
Avatar billede erikjacobsen Ekspert
25. juli 2001 - 00:14 #1
Du kan ikke med en normal JavaApplet hentet noget fra en anden maskine
end den hvor din Applet selv kom fra - sikkerhed, du ved !
Avatar billede jasber Nybegynder
25. juli 2001 - 00:36 #2
Man kan vel godt få en applet til at læse HTML source codes på en anden server, man kan da f.eks sagtens se kilde teksten (Her er der naturligvis ikke meget at hente, hvis sitet er lavet i ASP eller PHP)

Men er det ikke nemmere at vælge \"vis kilde\" og save det til et tekst dokument?
Avatar billede erikjacobsen Ekspert
25. juli 2001 - 00:38 #3
Jamen, en Applet der kommer ind \"bag\" en firewall, må ikke kunne aflæse de
webservere, der er på intranettet (ex. 192.168.1.7), og som netop er beskyttet
af firewall-en. Så nej, det kan man ikke, jasber.
Avatar billede jasber Nybegynder
25. juli 2001 - 00:43 #4
Nu er det ikke for at være flabet eller noget, men kan jeg ikke kode min applet som jeg lyster?

Hvis jeg vil læse kildeteksten på en given server (intern eller ekstern), er det vil frit for eller er der en begrænsning i Java her?

Jeg blev vidst lidt tabt her, men man kan jo ikke vide alt :)
Avatar billede erikjacobsen Ekspert
25. juli 2001 - 00:46 #5
Hvis man kunne læse kildekoden på 192.168.1.7, som er en intern server i et firma,
som ikke kan eller må ses udefra, og du uvidende på en side får en JavaApplet ind
fra www.hackersunited.com, så ville den kunne læse sider på den interne server (kun
HTML forstås).

Det må man ikke kunne, og det kan man heller ikke. Så skal brugeren give lov til det
ved at trykke på en OK-knap som JavaAppletten giver i en popup.
Avatar billede jasber Nybegynder
25. juli 2001 - 00:51 #6
Ah, nu er jeg med, man kan klart nok IKKE læse kildekoden på en server bag en firewall, en sådan server er jo i reglen heller ikke synlig. Men hvis man åbner port 80 i sin firewall og sætter en Webserver på, så kan koden sgu\'da godt ses udefra - Jeg kan da gå på en hvilken somhelst \"public\" server og se kildekoden - Hvis jeg ikke kunne det ville jeg jo heller ikke kunne accesse serveren med min browser.
Avatar billede erikjacobsen Ekspert
25. juli 2001 - 00:54 #7
Nemlig - men det er begrænsningen i JavaApplets. Du kan kun oprettet netforbindelser
til den server, som JavaAppletten kommer fra. Så er det der firewall problem løst.

Og - lige for at præcisere - den hypotetiske JavaApplet ville så have kunnet sende
den \"hemmelige\" HTML-kode ud af huset til www.hackersunited.com :)
Avatar billede jasber Nybegynder
25. juli 2001 - 00:57 #8
Så blev jeg sgu\'da klogere, det må jeg sige. Det havde jeg ingen anelse om :)

Men det er da klart, at det på den måde du beskriver det vil udgøre en grim sikkerheds risiko - Takker for din tid ;-)
Avatar billede erikjacobsen Ekspert
25. juli 2001 - 00:58 #9
Men men - spørgeren siger ikke et ord om Applet. Et normalt Java-program
kan gøre det, der bliver spurgt om - undskyld min overreaktion :))

Men jeg kan ikke lige svare ...
Avatar billede jasber Nybegynder
25. juli 2001 - 01:17 #10
jeg kan ikke lige lave det der i Java, men du kan sikkert gøre god brug af HTML-kommandoen \"IFRAME\", se lidt eksempler her:
http://www.codebrain.com/java/iframe/ (Her med java)
http://www.htmlhelp.com/reference/html40/special/iframe.html (Tutorial)
http://www.cis.udel.edu/~wei/display.html (Eksempel)
Avatar billede Slettet bruger
25. juli 2001 - 02:40 #11
ved ik om du kan bruge det til noget men med java script kan du gøre sådan her
<snip>
<html id=\"html\">
<head>
    <title>[Ingen titel]</title>
</head>
<body onload=\"document.minform.mitfelt.value = \'<html>\' + document.getElementById(\'html\').innerHTML + \'</html>\';\">
<form name=\"minform\">
<textarea name=\"mitfelt\"></textarea>
</form>
</body>
</html>

</snip>
http://www.eksperten.dk/spm/91528
Avatar billede disky Nybegynder
25. juli 2001 - 08:48 #12
Her er en der virker.

Dit JTextArea hedder \'jTextArea1\'

Hvis du vil have hele koden bare sig til.

Har lige testet og det virker.


      try
        {
            URL url=new URL(\"http://www.disky.dk/index.html\");
           
            HttpURLConnection httpURL=(HttpURLConnection)url.openConnection();
           
            InputStream in=httpURL.getInputStream(); //get input stream from URL
           
            byte webData[]=new byte[8192]; //allocate enough space for the complete page.
           
            StringBuffer page=new StringBuffer();
            int data=0;
            while(data!=-1)
            {
                data=in.read();
                if(data!=-1)
                {
                    page.append((char)data);
                }
            }
            //System.out.println(\"page = \"+page.toString());
            String webPage=page.toString();
            jTextArea1.append(webPage);
            in.close();
        }
        catch (MalformedURLException e)
        {
            e.printStackTrace(System.out);
        }
        catch (IOException e)
        {
            e.printStackTrace(System.out);
        }
      }
Avatar billede daniboy Nybegynder
25. juli 2001 - 13:02 #13
Skal lige tæste det for at se om det virker før jeg kan acceptere dit svar disky men det ligner noget jeg kan bruge
Avatar billede disky Nybegynder
25. juli 2001 - 13:03 #14
det er bare helt ok.

jeg kan poste koden på hele mit test exempel hvis du vil,

Avatar billede daniboy Nybegynder
25. juli 2001 - 13:21 #15
Hvis det her er den sides kildekode så må det jo virke :)

<!DOCTYPE HTML PUBLIC \"-//SoftQuad Software//DTD HoTMetaL PRO 6.0::19990601::extensions to HTML 4.0//EN\" \"hmpro6.dtd\">

<HTML>

  <HEAD>

    <TITLE></TITLE>

  </HEAD>

  <BODY>

    <CENTER> <BR>

        <TABLE BORDER=\"0\">

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\"><FONT SIZE=\"+4\"><B><A

                HREF=\"GC/index.html\">Gran Canaria</A></B></FONT> </TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\">&nbsp;</TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\"><A HREF=\"http://www.imod.dk\"><IMG

                SRC=\"imod.gif\" ALT=\"Den nyeste Satiriske side\" WIDTH=\"230\" HEIGHT=\"70\"

                BORDER=\"0\"></A><BR>Danmarks nyeste satiriske side<BR>Bes&oslash;g den, det er

                totalt underholdende</TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\">&nbsp;</TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\"><A

                HREF=\"http://www.imod.dk/porno/\"><STRONG>Pornofyldt Milj&oslash; (g&oslash;r

                totalt grin med Pornofrit milj&oslash;) Siden er kendt fra

                ekstrabladet</STRONG></A></TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\">&nbsp;</TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\"><A

                HREF=\"http://www.disky-design.dk/fish\">

                <IMG SRC=\"fishbanner.jpg\" BORDER=\"0\" WIDTH=\"400\" HEIGHT=\"50\"> </A></TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\"> &nbsp; </TD>

          </TR>

          <TR>

            <TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\">

                <TABLE BORDER=\"1\" WIDTH=\"150\" CELLPADDING=\"5\">

                  <TR>

                    <TD>

                        <CENTER>

                          <IMG SRC=\"images/navbarhome.gif\" WIDTH=\"150\" HEIGHT=\"75\"> <BR>

                          <FONT FACE=\"arial\" SIZE=\"2\">Search and buy books online with iBS</FONT>

                          <P> <B>Enter Keyword:</B> </P>

                          <FORM METHOD=\"POST\"

                            ACTION=\"http://www.bookshop.co.uk/ser/serpge.asp\" NAME=\"SearchForm\">

                            <INPUT TYPE=\"hidden\" NAME=\"type\" VALUE=\"keyword\">

                            <INPUT TYPE=\"text\" SIZE=\"14\" MAXLENGTH=\"256\" NAME=\"x\">

                            <INPUT TYPE=\"hidden\" NAME=\"dh\" VALUE=\"100\">

                            <INPUT TYPE=\"hidden\" NAME=\"shop\" VALUE=\"20037\">

                            <INPUT TYPE=\"Submit\" VALUE=\"Search\"> </FORM> </CENTER> </TD>

                  </TR>

                </TABLE> </TD>

          </TR>

          <TR>

            <TD VALIGN=\"MIDDLE\" ALIGN=\"CENTER\"> &nbsp; </TD>

          </TR>

          <TR>

            <TD VALIGN=\"MIDDLE\" ALIGN=\"CENTER\"> <A

                HREF=\"books.htm\">Sp&aelig;ndende b&oslash;ger om Computer og Programmering</A>

                </TD>

          </TR>

          <TR>

            <TD VALIGN=\"MIDDLE\" ALIGN=\"CENTER\"> &nbsp; </TD>

          </TR>

          <TR>

            <TD VALIGN=\"MIDDLE\" ALIGN=\"CENTER\"> <A

                HREF=\"Klassen/index.jsp\">Klassen</A> </TD>

          </TR>

          <TR>

            <TD VALIGN=\"MIDDLE\" ALIGN=\"CENTER\"> &nbsp; </TD>

          </TR>

          <TR>

            <TD VALIGN=\"MIDDLE\" ALIGN=\"CENTER\"> <A

                HREF=\"http://disky.dk:1080\">Tiniboard Embeddet Java !!</A> </TD>

          </TR>

        </TABLE> </CENTER> </BODY>

</HTML>

Avatar billede disky Nybegynder
25. juli 2001 - 13:21 #16
det ser sørme bekendt ud :)

Yep det er min side
Avatar billede daniboy Nybegynder
25. juli 2001 - 13:30 #17
mange tak :)
Avatar billede daniboy Nybegynder
25. juli 2001 - 13:44 #18
Så må jeg lige spørge dig hvor du bruger webData[]
igen efter at du har lavet den?
Avatar billede daniboy Nybegynder
25. juli 2001 - 13:51 #19
Kan godt få det til at virke uden brug af webData[]

kan du forklarer mig hvorfor man skal bruge webData[]?
Avatar billede lbhansen Nybegynder
25. juli 2001 - 13:54 #20
webdata var vel tiltænkt, at du gemte dine data samtidig med at du viste dem, den bliver dog ikke brugt, så den kan du roligt fjerne.

Det ville heller ikke havde været den fede måde at lave tingene, da du ikke kan læse et dokument større end den hardcodede størrelsen.

Personligt ville jeg nok have brugt en BufferedReader, og bruge readLine(), og gemme dem i en StringBuffer, men hvad. Vi er jo alle forskellige :)
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