método POST http

1. método POST http

Paulo
paulo_moc

(usa Ubuntu)

Enviado em 01/07/2013 - 12:16h

Olá pessoal, criei uma página web de teste e hospedei em um site gratuito, estou tentando passar informações a ela atraves do método POST do http, mas essas informações não chegam, o site possui 2 páginas:

uma index onde tem 2 campos de texto(action e id os nomes) e um botão de submit, ao clicar no botão o formulário te leva até a segunda página que receb esses valores através do método POST, então criei uma função teste em C para conectar e enviar os dados à segunda página do site:


int enviar(const char* action, const char* id){

char buffer[500];
int s;
struct sockaddr_in inf;

if((s=socket(AF_INET, SOCK_STREAM, 0)) == -1)
return -1;

inf.sin_family = AF_INET;
inf.sin_port = htons(80);
inf.sin_addr.s_addr = inet_addr("ip_aqui");
memset(inf.sin_zero, 0, 8);

if(connect(s, (struct sockaddr*)&inf, sizeof(inf)) == -1)
return -1;

memset(buffer, 0, 500);
//action=<action>&id=<id>
sprintf(buffer, "POST /enviar.php HTTP/1.1\r\nContent-Lenght: %d\r\n", 7+strlen(action)+3+strlen(id));
strcat(buffer, "Host: server_aqui\r\n\r\n");
strcat(buffer, "action=");strcat(buffer, action);
strcat(buffer, "&");
strcat(buffer, "id=");strcat(buffer, id);

printf("Requisicao:\n%s\n\n", buffer);

send(s, buffer, strlen(buffer), 0);

recv(s, buffer, 500, 0);
printf("%s\n", buffer);

recv(s, buffer, 500, 0);
printf("%s\n", buffer);

return 1;
}


a requisição é enviada e eu recebo o cabeçalho resposta e o código html que foi gerado pela interpretação do php de acordo com os dados enviados ,mas os dados que eu envio não chegam lá, vou colocar aqui o código das páginas php:

index.php

<HTML>

<HEAD>
<TITLE>
Informacoes
</TITLE>
</HEAD>

<BODY bgcolor="yellow">

<form method="POST" action="enviar.php" name="form1">
<input type="text" name="action" />
<input type="text" name="id" />
<input type="submit">
</form>

</BODY>

</HTML>


enviar.php

<HTML>

<HEAD>
<TITLE>
Enviar
</TITLE>
</HEAD>

<BODY>
<?php
echo "Acao: ".$_POST['action'] . "</br>";
echo "Mensagem: ".$_POST['id']."</br>";
?>
</BODY>

</HTML>


existe alguma falha na requisição? já tentei utilizar o método GET e passar os valores pela url mas também não fuincionou...

agradeço a quem puder ajudar =]


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts