Estoy trabajando en un proyectito, y necesito enviar un String desde un programa en C ubicado en algun punto de una lan hacia un servidor centralizado en el que se encuentra un script rn php que recibre mediante GET un par de variables.
El codigo en C que intenta hacer eso, es :
int fd, numbytes,contador=0,i=0;
struct sockaddr_in server;
char buf[MAXDATASIZE];
char get[1000];
struct hostent *he;
sprintf(get,"GET /recibe.php?cod_zpri=%s&cadena=%s HTTP/1.0\r\nHost: 10.1.59.249\r\n\r\n",codigo,cadena);
printf("%s",get);
if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1){
return;
}
server.sin_addr.s_addr=inet_network("10.1.59.249");
server.sin_addr.s_addr=inet_addr("10.1.59.249");
server.sin_family = AF_INET;
server.sin_port = htons(80);
bzero(&(server.sin_zero),8);
if(connect(fd, (struct sockaddr *)&server, sizeof(struct sockaddr))==-1){
exit(-1);
}
if ( send ( fd, get , strlen ( get ), 0 ) < 0 )
{
return;
}
while ( ( numbytes = recv( fd, buf, MAXDATASIZE, 0 ) ) > 0 )
i++;
close(fd);
En php es simplemente una recepcion con $_GET y con esos datos los proceso y los inserto en una base de datos.
El problema es que envia la peticion, pero el archivo php no ejecuta lo que deseo, mientras que al hacer la peticion a mano (en firefox por ejemplo) se ejecuta sin problemas, el tema creo yo es que no se esta haciendo nada mas que enviar una peticion al servidor http, por lo que deberia setear o enviar alguna otra cosa, pero no se como hacerlo, alguien me podria dar una mano ?
Gracias
a los que respondan 










Autor


En línea
