The host is www.google.com - http is only a web protocol. The DNS lookup
is independent of HTTP, and thus should not include it. Note that you're
also missing a space after the GET. Also, in terms of the example given,
some servers won't like you not using the Host header, some won't like
the GET being an absolute path instead of relative (but the two combined
should make most accept it). There's a CURL wrapper added, and a higher
level version should be available within the next release or two, you
make want to look into that.
On 19/01/2012 9:30 AM, 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@../../../src/libphobos/std/socket.d(697):
Unable to resolve host 'http://www.google.com'
What fails?
Thanks in advance,
Xan.