AddThis Feed Button
AddThis Social Bookmark Button
IMGP1165
IMGP1166
IMGP1143
IMGP1144
IMGP1145
IMGP1146
IMGP1147
IMGP1148
IMGP1149
IMGP1150
Categories

This Month Last Year

Julio 2008
L M X J V S D
« Jun «-»  
 123456
78910111213
14151617181920
21222324252627
28293031  
links
12
Sep

Usando el protocolo HTTP para realizar peticiones POST

Voy a explicar un poco como enviar datos por POST usando una conexión TCP/IP, esto nos será de ayuda para poder trabajar con TrackBacks.

El protocolo http es un protocolo de texto plano, en el que se envía una petición a un servidor con un formato determinado y este nos devuelve una respuesta.

Para el envío de una petición a un servidor Web debemos saber el host, el puerto de escucha (usualmente 80) , la ruta a la que queremos acceder y por supuesto los datos que queremos enviar.

Para enviar los datos simplemente debemos crear una petición http, que no es mas que una cadena de texto con un formato especifico que el servidor interpretara para realizar las operaciones necesarias

Ejemplo de petición
  1. POST /index.php?variableget=algo HTTP/1.0
  2. Host: www.dubasdey.com
  3. Content-Type: application/x-www-form-urlencoded; charset=iso-8859-1
  4. Content-Length: 9
  5. User-Agent: Agente/1.0
  6. v1=a&v2=b

Esta es una cadena de ejemplo para una petición, en la primera línea se indica que realizamos una petición POST a la ruta indicada usando el protocolo HTTP/1.0, también podemos (como es el caso) enviar variables por GET poniéndolas en la ruta a la vez que enviamos los datos por POST.

La segunda línea contiene el HOST al que hacemos la petición, esto es importante sobre todo en hostings virtuales. La tercera línea contiene el tipo de objeto que enviamos, en esta caso “application/x-www-form-urlencoded” por lo que enviaremos los datos como si se tratase de la parte “query” de una url. También indicamos la codificación que estamos usando. La cuarta linea indica en Bytes el contenido de los datos que enviamos (solo los datos q están en la línea 8, no la cabecera) y además después especificamos cual es el agente que esta pendiendo los datos.
Los saltos de línea del ejemplo son OBLIGATORIOS, cada cabecera va en una línea (del estilo \r\n o vbcrlf) y hay 2 saltos de línea para separar las cabeceras de el contenido que enviamos por post.

Como esto es una llamada a la página, una vez que enviamos los datos por el socket el servidor nos dará una respuesta con el contenido de la pagina (incluidas también las cabeceras http de la misma) antes de cerrar la conexión.

ejemplo de una respuesta HTTP
  1. HTTP/1.1 200 OK
  2. Date: Fri, 25 Aug 2006 16:01:30 GMT
  3. Server: Apache
  4. X-Powered-By: PHP/4.4.0
  5. Status: 200 OK
  6. Vary: Accept-Encoding
  7. Content-Length: 486
  8. Connection: close
  9. Content-Type: text/html; charset=ISO-8859-1
  10. “http://www.w3.org/TR/REC-html40/loose.dtd” >
  11. Gracias por los datos

Esto es un ejemplo de una respuesta http afirmativa (código 200) que nos devuelve una pagina HTML.

Y con esto ya sabemos la teoría jeje.

Este articulo puede ser util para Trackbacks


31
Ago

Usando el protocolo HTTP para realizar peticiones POST

Voy a explicar un poco como enviar datos por POST usando una conexión TCP/IP, esto nos será de ayuda para poder trabajar con TrackBacks.

El protocolo http es un protocolo de texto plano, en el que se envía una petición a un servidor con un formato determinado y este nos devuelve una respuesta.

Para el envío de una petición a un servidor Web debemos saber el host, el puerto de escucha (usualmente 80) , la ruta a la que queremos acceder y por supuesto los datos que queremos enviar.

Para enviar los datos simplemente debemos crear una petición http, que no es mas que una cadena de texto con un formato especifico que el servidor interpretara para realizar las operaciones necesarias

 

Ejemplo de petición
  1. POST /index.php?variableget=algo HTTP/1.0
  2. Host: www.dubasdey.com
  3. Content-Type: application/x-www-form-urlencoded; charset=iso-8859-1
  4. Content-Length: 9
  5. User-Agent: Agente/1.0
  6.  
  7. v1=a&v2=b

 

Esta es una cadena de ejemplo para una petición, en la primera línea se indica que realizamos una petición POST a la ruta indicada usando el protocolo HTTP/1.0, también podemos (como es el caso) enviar variables por GET poniéndolas en la ruta a la vez que enviamos los datos por POST.

La segunda línea contiene el HOST al que hacemos la petición, esto es importante sobre todo en hostings virtuales. La tercera línea contiene el tipo de objeto que enviamos, en esta caso "application/x-www-form-urlencoded" por lo que enviaremos los datos como si se tratase de la parte "query" de una url. También indicamos la codificación que estamos usando.  La cuarta linea indica en Bytes el contenido de los datos que enviamos (solo los datos q están en la línea 8, no la cabecera) y además después especificamos cual es el agente que esta pendiendo los datos.
Los saltos de línea del ejemplo son OBLIGATORIOS, cada cabecera va en una línea (del estilo \r\n o vbcrlf) y hay 2 saltos de línea para separar las cabeceras de el contenido que enviamos por post.

Como esto es una llamada a la página, una vez que enviamos los datos por el socket el servidor nos dará una respuesta con el contenido de la pagina (incluidas también las cabeceras http de la misma) antes de cerrar la conexión.

ejemplo de una respuesta HTTP
  1. HTTP/1.1 200 OK
  2. Date: Fri, 25 Aug 2006 16:01:30 GMT
  3. Server: Apache
  4. X-Powered-By: PHP/4.4.0
  5. Status: 200 OK
  6. Vary: Accept-Encoding
  7. Content-Length: 486
  8. Connection: close
  9. Content-Type: text/html; charset=ISO-8859-1
  10.  
  11. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
  12. "http://www.w3.org/TR/REC-html40/loose.dtd" >
  13. <html>
  14. <head>
  15. <title>Gracias por los datos</title>
  16. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  17. </head>
  18. <body>
  19. <b>Gracias por los datos</b>
  20. </body>
  21. </html>

 Esto es un ejemplo de una respuesta http afirmativa (código 200) que nos devuelve una pagina HTML.

Y con esto ya sabemos la teoría jeje.

 

Este articulo puede ser util para Trackbacks