[C con Clase] c y página web sockets
Adolfo Cárdenas
adocardenas en gmail.com
Mie Mayo 12 00:28:29 CEST 2010
Buenas Cómo estan? Tengo la siguiente funcion
void leerpaginaweb(char* direcpagina)
{
MessageBox(NULL,direcpagina,"",MB_OK);
WSADATA wsadata;
struct sockaddr_in address;
struct hostent*hp;
int sd;
char *hostname,*request,*cp;
FILE *local;
char buff[BUFSIZ];
int i,l,nrv;
WSAStartup(0x0101,&wsadata);
hostname = direcpagina;
request = "/";
hp = gethostbyname(hostname);
if (hp == NULL) {
MessageBox(NULL,"gethostbyname","error",MB_OK);
exit(1);
}
memcpy(&(address.sin_addr.s_addr),*(hp->h_addr_list),sizeof(struct
in_addr));
if(h_errno){
MessageBox(NULL,"DNS error","error",MB_OK);
exit(1);
}
address.sin_family = AF_INET;
address.sin_port = htons(80);
sd = socket(AF_INET,SOCK_STREAM,0);
if(sd == 0) exit(1);
if(connect(sd,(struct sockaddr *)&(address),
sizeof(struct sockaddr_in)) == -1){
MessageBox(NULL,"Connection failed","",MB_OK);
exit(1);
} else {
MessageBox(NULL,"connect() ejecutado con exito!","",MB_OK);
}
sprintf(buff,"GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n",
request,hostname);
l = strlen(buff);
send(sd,buff,l,0);
do{
nrv = recv(sd,buff,BUFSIZ,0);
if(nrv > 0) MessageBox(NULL,buff,"",MB_OK); else break;
}while(1);
WSACleanup();
}
--------------------------------------------------------------------------------
Que lee una pagina Le envío como parámetro por ejemplo www.algo.com
La función me muestra en mensajes el contenido de la página
es decir el archivo index.html o index.php
La pregunta es ¿cómo puedo leer otro archivo que esté al lado del
index.html?
Puse como parámetro www.algo.com/archivo.php y me salió error
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100511/8b3e76f5/attachment.html>
Más información sobre la lista de distribución Cconclase