Foros del Web » Programando para Internet » PHP »

simular el metodo post

Estas en el tema de simular el metodo post en el foro de PHP en Foros del Web. Necesito enviar datos como si fueran enviados desde un formulario con el metodo post. Como podría hacer esto cn php si hacerlo desde un formulario ...
  #1 (permalink)  
Antiguo 08/03/2002, 17:09
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
simular el metodo post

Necesito enviar datos como si fueran enviados desde un formulario con el metodo post.

Como podría hacer esto cn php si hacerlo desde un formulario ????

Gracias Muchas

salu2
  #2 (permalink)  
Antiguo 08/03/2002, 17:28
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: simular el metodo post

Si claro q se puede. Los pasos son los siguientes:

Abres una conexión con fsockopen
Escribes a ese socket una petición POST
Recoges la salida
Cierras el socket ;)

www.php.net/fsockopen

Salu2.Ferdy
  #3 (permalink)  
Antiguo 08/03/2002, 18:01
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

estimado Ferdy

Sería mucho pedir un pequeño ejemplo ???

salu2
  #4 (permalink)  
Antiguo 08/03/2002, 18:11
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

lo que necesito es enviar una varible $xxx que pueda guardar en un texto, el php que recibe ya lo tengo, me falta el que envía.

Muy agradecido de antemano.

salu2
  #5 (permalink)  
Antiguo 08/03/2002, 20:21
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: simular el metodo post

Skynet, si te pegas una vuelta por www.sourceforge.net, encontrarás un proyecto hecho en PHP que se llama Snoopy (curioso nombre por cierto), que es una clase que te permite conectarte a diferentes hosts, con diferentes métodos (POST, GET, PUT), incluso a través de un proxy.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #6 (permalink)  
Antiguo 11/03/2002, 21:23
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

Ya lo hice por si a alguien le interesa:

AQUI ESTA EL CÓDIGO, PERO MI PROBLEMA ES OTRO AHORA, LO DETALLO ABAJO:

$hostname = &quot;www.mihost.com&quot;;
$port = 80;
$command = &quot;http://www.mihost.com/z/&quot;;
$command.= &quot;index.php&quot;;

/* Abro el socket y retorno su manipulador. */
$socket_handle = fsockopen( $hostname, $port, &amp;$errno, &amp;$errstr, 15 );

/*
* Una ves abierto el socket, compruebo de que realmente
* existe su manipulador. En caso contrario, genero un error y
* termino el script.
*/
if( !$socket_handle ) {
echo &quot;Ocurrió el siguiente error en el socket: $errstr ($errno)&lt;br&gt;\n&quot;;
exit;
} else {
/*
* Con fputs() escribo en el socket, igual que si lo haría en un archivo normal.
* Aquí lo que hago es enviarle al servidor web una petición del tipo POST
* standard.
*/
fputs( $socket_handle,&quot;POST $command?userfile=C:\z\img.jpg&amp;name=foto HTTP/1.0\r\n\r\n&quot; );
/*
* Recojo las respuestas del servidor y las almaceno en
* la variable $reply.
*/
while( !feof( $socket_handle ) )
$reply.= fgets( $socket_handle, 1024 );
}

CON ESTE CÓDIGO NECESITO HACER UN UPLOAD AL SERVIDOR, EL UPLOAD ME FUNCIONA DESDE UN FORMULARIO PERO DESDE ESTE SCRIPT NO, Y ESTOY ENVIANDO LAS MISMAS VARIABLES QUE DESDE EL FORMULARIO.

ALGUIEN ME PUEDE DAR UNA LUZ. parece que asi no se hace una petición POST ???

GRACIAS DENUEVO

salu2
  #7 (permalink)  
Antiguo 12/03/2002, 09:51
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

El problema esta con el envío de la imagen (C:\z\img.jpg) debía ser enviada en en binario ???

salu2
  #8 (permalink)  
Antiguo 12/03/2002, 09:58
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: simular el metodo post

Lo que pasa es que probablemente tengas que pasar el contenido en base64, échale una ojeada al manual, porque creo que algo así decían

www.php.net/base64-encode


Salu2.Ferdy
  #9 (permalink)  
Antiguo 12/03/2002, 10:12
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

ok, gracias lo veré

salu2
  #10 (permalink)  
Antiguo 12/03/2002, 22:11
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

Lo de base64-encode esta bien, curiosamente me funciona el upload en mi localhost, logro subir la imagen que necesito, sin embargo cuando lo hago al servidor remoto me dice que:
Warning: Unable to open 'C:\PP152_N452a.jpg' for reading: No such file or directory in /home/httpd/...fileupload.class

No hay un problema del fileupload.class ya que este funciona con el formulario y el mismo sube las imagenes en mi servidor local.

Alguna idea, a mi me tinca que la cosa va por el fputs()

salu2
  #11 (permalink)  
Antiguo 13/03/2002, 09:40
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

Cuando envio los datos desde un formulario, la varable userfile (que contiene el examinar para subir la imagen C:\blabla.jpg) si la imprimo me dice que es /tmp/phpkCpHIU

Que significa esto ?

salu2
  #12 (permalink)  
Antiguo 14/03/2002, 20:43
 
Fecha de Ingreso: enero-2002
Mensajes: 20
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: simular el metodo post

no logro capturar la imagen con este método

salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:26.