Task

Access and print a URL's content (the located resource) to the console.

There is a separate task for HTTPS Requests.




url := ask(0,"URL: ");
 
host := url;
dir  := "/";
port := 80;
if (n := url.find("/"))  { dir  = url[n,*];    host = url[0,n];  }
if (n := host.find(":")) { port = host[n+1,*]; host = host[0,n]; }
 
get := "GET %s HTTP/1.0\r\nHost: %s:%s\r\n\r\n".fmt(dir,host,port.toInt());
println("-->",get);
server := Network.TCPClientSocket.connectTo(host,port);
server.write(get);
data := server.read(True);
println(data.text);