Reading web pages

Timon Gehr timon.gehr at gmx.ch
Thu Jan 19 11:24:57 PST 2012


On 01/19/2012 04:30 PM, Xan xan wrote:
> Hi,
>
> I want to simply code a script to get the url as string in D 2.0.
> I have this code:
>
> //D 2.0
> //gdmd-4.6
> import std.stdio, std.string, std.conv, std.stream;
> import std.socket, std.socketstream;
>
> int main(string [] args)
> {
>      if (args.length<  2) {
> 		writeln("Usage:");
> 		writeln("   ./aranya {<url1>,<url2>, ...}");
> 		return 0;
> 	}
> 	else {
> 		foreach (a; args[1..$]) {
> 			Socket sock = new TcpSocket(new InternetAddress(a, 80));
> 			scope(exit) sock.close();
> 			Stream ss = new SocketStream(sock);
> 			ss.writeString("GET" ~ a ~ " HTTP/1.1\r\n");
> 			writeln(ss);
> 		}
> 		return 0;
> 	}
> }
>
>
> but when I use it, I receive:
> $ ./aranya http://www.google.com
> std.socket.AddressException at ../../../src/libphobos/std/socket.d(697):
> Unable to resolve host 'http://www.google.com'
>
> What fails?
>
> Thanks in advance,
> Xan.

The protocol specification is part of the get request.

./aranaya www.google.com

seems to actually connect to google. (it still does not work fully, I 
get back 400 Bad Request, but maybe you can figure it out)


More information about the Digitalmars-d-learn mailing list