http requests [Archive] - C Board

PDA

View Full Version : http requests


xixpsychoxix
04-25-2008, 12:12 PM
Hello. I am trying to write a program that will send an http request to a web server and then get the requested resource. I know a little about socket programming, but not much. I got stuck when i started trying to connect to a server:


SOCKET call_socket (const char *hostname, unsigned short portnum)
{
struct sockaddr_in sa;
struct hostent *hp;
SOCKET s;

hp = gethostbyname (hostname);
if (hp == NULL)
return INVALID_SOCKET;

memset (&sa, 0, sizeof (sa));
memcpy ((char *) &sa.sin_addr, hp->h_addr, hp->h_length);

sa.sin_family = hp->h_addrtype;
sa.sin_port = htons ((u_short) portnum);

s = socket (hp->h_addrtype, SOCK_STREAM, 0);
if (s == INVALID_SOCKET)
{
closesocket(s);
return INVALID_SOCKET;
}

if (connect (s, (struct sockaddr *) &sa, sizeof (struct sockaddr_in)) == SOCKET_ERROR)
{
closesocket(s);
cout << WSAGetLastError();
return INVALID_SOCKET;
}
return s;
}

int main ()
{
WSADATA wsaDat;
SOCKET test;

if (WSAStartup (MAKELONG (1, 1), &wsaDat) == SOCKET_ERROR)
{
cout << "Problem!!!";
return -1;
}

if (call_socket ("webpages.atlanticbb.net", 50000) == INVALID_SOCKET)
{
cout << "That failed!!!";
system ("pause");
return -1;
}
return 0;
}


Most of the code i got from a tutorial site, but for some reason i cannot connect to the requested server. Can anyone tell me what im doing wrong?

vart
04-25-2008, 12:47 PM
for some reason i cannot connect
could you elaborate a little more about that "some" reason.
What function has failed and what error code you get?

abachler
04-25-2008, 01:01 PM
If you are using windows, dont use teh winsock functions, use HttpSendRequest() and its ilk.

Niara
05-04-2008, 01:13 PM
"... for some reason i cannot connect..."

Maybe because by default web servers are not listening on port 50000? :)


call_socket ("webpages.atlanticbb.net",80)


Niara