que intento publicar datos utilizando fsockopen, y luego devolviendo el resultado. Aquí está mi código actual:datos PHP Mensaje con fsockopen
<?php
$data="stuff=hoorah\r\n";
$data=urlencode($data);
$fp = fsockopen("www.website.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "POST /script.php HTTP/1.0\r\n";
$out .= "Host: www.webste.com\r\n";
$out .= 'Content-Type: application/x-www-form-urlencoded\r\n';
$out .= 'Content-Length: ' . strlen($data) . '\r\n\r\n';
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
Se supone hacerse eco de la página, y se hace eco de la página, pero aquí es el guión de script.php
<?php
echo "<br><br>";
$raw_data = $GLOBALS['HTTP_RAW_POST_DATA'];
parse_str($raw_data, $_POST);
//test 1
var_dump($raw_data);
echo "<br><br>":
//test 2
print_r($_POST);
?>
El resultado es:
HTTP/1.1 200 OK Fecha: mar, 02 Mar 2010 22:40:46 GMT servidor: Apache/2.2.3 Desarrollado-X-Al (CentOS): PHP/5.2.6 Content-Length : 31 Conexión: cerrar Content-Type: text/html; charset = UTF-8 cadena (0) "" array()
¿Qué tengo mal? ¿Por qué la variable no publica sus datos?
Deberías usar curl. – rook
No puedo usar curl porque esto será de código abierto –
"Curl es software libre y abierto" Curl está licenciado bajo la licencia MIT/X. – Xorlev