elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:10  


Tema destacado: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  FSockOpen Duda!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FSockOpen Duda!!  (Leído 1,061 veces)
TrashAmbishion

Desconectado Desconectado

Mensajes: 60


Ver Perfil
FSockOpen Duda!!
« en: 15 Septiembre 2011, 19:06 »

Hola estoy probando el uso de FSOCKOPEN como muestro a continuacion me dice 200 OK, la linea como tal esta correcta pero el script me dice que la url esta malformanda.

Esta es la linea que tengo que pasar:

name=usuario@gmail.com&pass=password&message=mensaje+de+Probando&number=53.52653526&ownnum=cheito

Respuesta:

name=usuario@gmail.com&pass=password&message=mensaje+de+Probando&number=53.52653526&ownnum=cheitoHTTP/1.1 200 OK Date: Thu, 15 Sep 2011 16:07:44 GMT Server: Apache X-Powered-By: PHP/5.2.17 Set-Cookie: countmdw=Si; expires=Thu, 15-Sep-2011 16:17:44 GMT Connection: close Transfer-Encoding: chunked Content-Type: text/html 20 result=error^reason=malformedsms 0

Que puede estar pasando, me llama la atencion y es el 20 que esta delante del result=error^reason=malformedsms 0

Le pongo el codigo que estoy usando por si ven algo raro..

$fp = fsockopen("www.hostxxx.com", 80, $errno, $errstr, 30);
fputs($fp, "POST /api.php HTTP/1.1\r\n");
fputs($fp, "Host: www.hostxxx.com\r\n");
fputs($fp, "Content-type: application/x-www-form- urlencoded\r\n");
fputs($fp, "Content-length: " . strlen($vars) . "\r\n");
fputs($fp, "User-agent: Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $vars);

while (!feof($fp)) {
$buf .= fgets($fp,128);
}
fclose($fp);

Espero por sugerencias..


En línea
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.089


Mtz De C.


Ver Perfil WWW
Re: FSockOpen Duda!!
« Respuesta #1 en: 30 Septiembre 2011, 20:12 »

mmm se me ocurre utilizar urlencode para pasar el string, no lo sé, igual y así te funque. Prueba enviando cadenas con caracteres simples (1234567890, abce..etc...).

Suerte.


En línea



Con sangre andaluza :)
madpitbull_99
Moderador Global
***
Desconectado Desconectado

Mensajes: 1.898



Ver Perfil WWW
Re: FSockOpen Duda!!
« Respuesta #2 en: 30 Septiembre 2011, 20:23 »

Tal vez es porque tienes que enviar la cabecera toda de una vez.

Primero guardas la cabecera en una variable y luego haces el fput().

Código
$header = "";
$fp = fsockopen("www.hostxxx.com", 80, $errno, $errstr, 30;
$header .= "POST /api.php HTTP/1.1\r\n";
$header .= "Host: www.hostxxx.com\r\n";
$header .= "Content-type: application/x-www-form- urlencoded\r\n";
$header .=, "Content-length: " . strlen($vars) . "\r\n";
$header .="User-agent: Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)\r\n";
$header .= "Connection: close\r\n\r\n";
fputs($fp, $headers);
 
while (!feof($fp)) {
$buf .= fgets($fp,128);
}
fclose($fp);

Si sigue sin funcionar, intenta hacerlo con cURL, hay varios ejemplos en el foro.
En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: FSockOpen Duda!!
« Respuesta #3 en: 30 Septiembre 2011, 21:17 »

Mira este ejemplo desde php.net, talves te sirva.
Es una petición POST sin usar fsock ni curl:

http://php.net/manual/es/function.file-get-contents.php
Código
<?php
/**
make an http POST request and return the response content and headers
@param string $url    url of the requested script
@param array $data    hash array of request variables
@return returns a hash array with response content and headers in the following form:
   array ('content'=>'<html></html>'
       , 'headers'=>array ('HTTP/1.1 200 OK', 'Connection: close', ...)
       )
*/

 
function http_post ($url, $data){
   $data_url = http_build_query($data);
   $data_len = strlen($data_url);
 
   return array(
'content' => file_get_contents($url, false, stream_context_create(array(
'http'=> array(
'method' => 'POST',
'header' => "Connection: close\r\nContent-Length: $data_len\r\n",
'content' => $data_url
           )
))),
'headers' => $http_response_header
);
}
?>

Yo para casi todo utilizo el file_get_contents(), además se adapta solo a multiples protocolos sin tener que escribir todo a mano, se adapta a https, ftps, http, ftp, hasta obtener archivos locales, etc.

Es una verdadera navaja suiza de las peticiones simples.

Se usa masomenos así:
Código
<?php print_r(http_post('http://www.host.com/archivo.php', array('var1' => 'val1'))); ?>
« Última modificación: 30 Septiembre 2011, 21:40 por WHK » En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
temexhandsome

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: FSockOpen Duda!!
« Respuesta #4 en: 1 Noviembre 2011, 22:01 »

Creo que la division entre la url y los parámetros enviados, debe ser separara por un ? y no por un &.
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
fsockopen PHP
Desarrollo Web
ciruit 7 982 Último mensaje 21 Abril 2006, 06:22
por дٳŦ٭
Problema con fsockopen y un form
PHP
Drakegon 0 378 Último mensaje 20 Diciembre 2007, 16:52
por Drakegon
Problema con función fsockopen();
PHP
moz-art 3 701 Último mensaje 30 Enero 2008, 14:13
por eLank0
Pequeña duda con un comando batch (NUEVA DUDA RELACIONADA)
Scripting
revenge1252 9 2,496 Último mensaje 13 Febrero 2008, 21:41
por revenge1252
fsockopen y host "maldito"
PHP
SERBice 14 2,495 Último mensaje 14 Octubre 2008, 16:39
por SERBice
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines