🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #3629

Re: iemand ervaring met HttpURLConnection? (java)

#3629
From: An Ony
Date: Wed, 19 Nov 2003 11:26
98 lines
4285 bytes
"TRAX" <Stijn.Verspeet@pandora[delete.this].be> schreef in bericht
news:9jwub.30757$oA3.1084528@phobos.telenet-ops.be...
> Ik zou dus graag een browser maken in Java (ttz, projectje voor school:
> netwerken en Java gecombineerd). Heb ik dan HttpURLConnection nodig?
> (JEditorPane mag ik niet gebruiken, zou te simpel zijn). Met die klasse
kan
> ik al een beetje overweg: connectietje maken, serveresponse weergeven maar
> daar stopt het. Ik vermoed dat je dmv een stream de inhoud van de URL zal
> moeten omzetten in een HTML document en dat dan parsen dmv de daartoe
> bestemde klassen (of is dit wat te simplistisch?). Nu, hier zit het
> probleem: hoe doe ik dat? kan iemand mij een concreet voorbeeldje geven
> hierover?
> Ik ben een Java newbie en heb al op de forums van sun gezocht ook (en
> google) maar ik zie nergens bruikbare code staan.
>

Hier is een textbrowser die ik eens geschreven heb, kan je misschien
gebruiken.
Ik weet niet of java klassen heeft die HTML kan parsen volgens bepaalde
standaarden. Een XML-parser zit er wel in, dus misschien heb je geluk, nog
niet zelf gekeken.
=============================================================
import java.io.*;
import java.net.*;

public class HttpTextBrowser {
    public static void main(String[] args) throws IOException {

   URL url = null;
        String host = null;
        int port = 0;

        Socket c = null;
        PrintWriter out = null;
        BufferedReader input =null;

  if( args.length != 1){
   System.out.println("Usage : java HttpTextBrowser URL");
   System.exit(1);
  }

        try {

   /* Vul de variabelen url, host en port in met de informatie vanop de
commandolijn */
   url = new URL(args[0]);
   host = url.getHost();
   port = url.getPort();
   if (port<0) port = 80;
   /* Maak een Socket aan met de correcte host en port */
   c = new Socket(host,port);
            /* Initialiseer de PrintWriter out en de BufferedReader input */
   out = new PrintWriter(c.getOutputStream());
   input = new BufferedReader(new InputStreamReader(c.getInputStream()));

        }
        /* Vang de mogelijke excepties op, en stop het programma indien er
een exceptie optreedt */

        catch (MalformedURLException e) {
  System.err.println(e+ "\nURL is van de vorm http://<host>:<poort>");
  System.exit(1);
        }
        catch (IOException e) {
  System.err.println(e);
  System.exit(2);
  }
        catch (Exception e) {
  System.err.println(e);
  System.exit(3);
        }


  /* Bouw de request string op, vergeet de \n\r niet ! */
           String fromUser = "GET http://"+host+url.getPath()+"
HTTP/1.1\r\nHost: \r\n\r\n";
  System.out.println(fromUser);
  out.println(fromUser);
  out.flush();

  /* Lees de eerste lijn van het antwoord van de server (van de input
stream) */
     String fromServer = input.readLine();

     while (fromServer != null){
      System.out.print(fromServer+"\r\n");
      /* Lees een volgende lijn in van het antwoord */
      fromServer = input.readLine();
        }

  /* Sluit de out en input stroom en nadien de socket */
  out.close();
  input.close();
  c.close();
    }
}
=============================================================
Technical Details
Message-ID: <bpfiob$tuu$1@gaudi2.UGent.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.vmunix.org!aotearoa.belnet.be!news.belnet.be!news.UGent.be!not-for-mail
References: <9jwub.30757$oA3.1084528@phobos.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,2e18ba1c2bcd0b63
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-11-19 03:32:18 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.vmunix.org!aotearoa.belnet.be!news.belnet.be!news.UGent.be!not-for-mail
From: "An Ony" <nowhere@somewhere.net>
Newsgroups: be.comp.programming
Subject: Re: iemand ervaring met HttpURLConnection? (java)
Date: Wed, 19 Nov 2003 12:26:53 +0100
Organization: Ghent University
Lines: 100
Message-ID: <bpfiob$tuu$1@gaudi2.UGent.be>
References: <9jwub.30757$oA3.1084528@phobos.telenet-ops.be>
NNTP-Posting-Host: vpne178.ugent.be
X-Trace: gaudi2.UGent.be 1069239883 30686 157.193.28.178 (19 Nov 2003 11:04:43 GMT)
X-Complaints-To: helpdesk@dict.ugent.be
NNTP-Posting-Date: Wed, 19 Nov 2003 11:04:43 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165