PHP: POST directo a través de socket - Userlinux.net

Para hacer una petición POST a través de php -sin utilizar curl()- podemos hacerlo simplemente con sockets -con HTTPS si lo queremos seguro- y algo de suerte -para que todo funcione a la primera-: // Variables $host = www.host.com; $referer = http://www.host-referer.com; $path = /ruta/al/form.php; $data = Lo que vamos…

PHP: POST directo a través de socket

r0sk 25.Sep.2008 0 Comentarios 1068 Lecturas
Para hacer una petición POST a través de php -sin utilizar curl()- podemos hacerlo simplemente con sockets -con HTTPS si lo queremos seguro- y algo de suerte -para que todo funcione a la primera-:
// Variables
$host = "www.host.com";
$referer = "http://www.host-referer.com";
$path = "/ruta/al/form.php";
$data = "Lo que vamos a mandar por POST";

// Abriendo un socket seguro (443)
$fp = fsockopen('ssl://'.$host, 443, $errno,$errstr,30);

// Enviando cabeceras y datos
fputs($fp, "POST $path HTTP/1.0\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);

// Recogiendo el resultado
$result = ''; 
while(!feof($fp))
    $result .= fgets($fp, 128);

// Cerramos y visualizamos respuesta
fclose($fp);
print_r($result);
Como veis no hace falta que la petición vaya envuelta en una variable si el servidor no lo espera de esa forma.
Categorías: programación
Tags: php socket

Comentarios


Todavía no hay comentarios

Escribe un comentario

Nick
Email
URL

Buscar

Cargando...

Categorías

Últimos comentarios

  • BartlettLilly20
  • r0sk
  • coder
  • argordmel
  • uveic
  • MarcosBL
  • quemada
  • alexander
  • Hakky111
  • tramel
  • hoyadas
  • hoyadas
  • hoyadas
  • Anubys
  • Arturo

Tagcloud

lugo freebsd seguridad futbol iphone mysql champions userlinux alemania_2006 copa bsd cakephp rfilms deportes meme blogs conciertos bake debian macosx apple humor programación música games 2008 beers tip lucux cake sysadmin ssh ibook films cumpleaños bash league barça soccer mundial frases opinion felicidades hack php juegos cms personal 2007 ubuntu ds mac sidenotes openbsd linux blogsfera rsidenotes blog nintendo san_froilan

Archivo

Social

Twitter

Enlaces

Enlaces de interés