Foros del Web » Programando para Internet » PHP »

Post y Get

Estas en el tema de Post y Get en el foro de PHP en Foros del Web. Hola, quería saber si se podía hacer fopen a una Url de otro dominio enviando datos por post. Por ejemplo: fopen("http://mi_dominio.com/pagina.php?variable1=contenido1") se podría hacer esto ...
  #1 (permalink)  
Antiguo 10/07/2005, 15:28
Avatar de gzaloprgm  
Fecha de Ingreso: abril-2005
Ubicación: En mi casa
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 1
Post y Get

Hola, quería saber si se podía hacer fopen a una Url de otro dominio enviando datos por post.

Por ejemplo:

fopen("http://mi_dominio.com/pagina.php?variable1=contenido1")

se podría hacer esto con post en lugar de get?

Gracias

Gonzalo
  #2 (permalink)  
Antiguo 10/07/2005, 15:54
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 21 años
Puntos: 2
claro que se puede... y es igual que con get, sólo que hay que cambiar el nombre de la matriz:

Código PHP:
fopen($_POST['nom_url']); 
nom_url es el nombre del campo en el que ingresarás la URL dentro del formulario.
  #3 (permalink)  
Antiguo 11/07/2005, 08:11
Avatar de gzaloprgm  
Fecha de Ingreso: abril-2005
Ubicación: En mi casa
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 1
Gracias...

Eso sirve, pero lo que yo necesito es otra cosa.

Por ejemplo:
Si yo quiero hacer un fopen a Google (con los resultados de búsquedas), haría:

fopen("http://google.com.ar/search?q=".$_GET['busqueda'])

Entonces introduciendo "http://dominio.com/pagina.php?busqueda=hola" en el navegador,
haría un fopen a la pagina de google con los resultados de la búsqueda "hola"


Pero si google recibiese los datos en "Post". Cómo haría el mismo fopen que detallo arriba con "Post"?

Saludos

Gonzalo
  #4 (permalink)  
Antiguo 11/07/2005, 08:30
 
Fecha de Ingreso: diciembre-2002
Ubicación: bilbao
Mensajes: 345
Antigüedad: 21 años, 11 meses
Puntos: 3
Se pueden recoger las respuestas del servidor de google? aber aber que esto me interesa :)
__________________
aste nagusia
  #5 (permalink)  
Antiguo 11/07/2005, 09:13
Avatar de gzaloprgm  
Fecha de Ingreso: abril-2005
Ubicación: En mi casa
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 1
Google

Cita:
Se pueden recoger las respuestas del servidor de google? aber aber que esto me interesa :)
Obviamente esto se puede hacer, aunque no se si es legal o no.
Lo que si se puede es usando las Apis de Google, aunque solo 1000 consultas por día. (creo)

Ya que preguntaste te respondo:... hace unos meses traté de hacer un Proxy con php ... ( Mala idea) , usando fopen , fget y str_replace.

creo que con

<?php
$gestor = fopen("http://www.google.com.ar/search?q=hola", "r");
while (!feof($gestor)) {
$bufer = fgets($gestor, 4096);
echo $bufer;
}
fclose($gestor);
?>

Se puede hacer búsquedas

Saludos
Gonzalo
  #6 (permalink)  
Antiguo 16/07/2005, 14:45
Avatar de gzaloprgm  
Fecha de Ingreso: abril-2005
Ubicación: En mi casa
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 1
¿Imposible?
  #7 (permalink)  
Antiguo 16/07/2005, 15:20
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 19 años, 4 meses
Puntos: 1
nada es imposible en esta vida y si te das cuenta google recoge los datos en forma get asi que perfectamente pueds concatenar a la direccion y abrirla desde alli ;)
  #8 (permalink)  
Antiguo 16/07/2005, 15:28
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 19 años, 4 meses
Puntos: 1
Código PHP:

<?php
$busqueda
="variable -recogida -de -donde -quieras post -o get";
$busqueda=urlencode($busqueda);
$ruta="http://www.google.com.co/search?q=".$busqueda;
$gestor fopen($ruta"r");
while (!
feof($gestor)) {
$bufer fgets($gestor4096);
echo 
$bufer;
}
fclose($gestor);
?>
es esto lo que deseas?
  #9 (permalink)  
Antiguo 17/07/2005, 11:16
Avatar de gzaloprgm  
Fecha de Ingreso: abril-2005
Ubicación: En mi casa
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 1
...

Eso es correcto, muchas gracias,
Cita:
Iniciado por gzaloprgm
Pero si google recibiese los datos en "Post". Cómo haría el mismo fopen que detallo arriba con "Post"?
Esa es la pregunta que no sé si tiene respuesta...

Saludos

Gonzalo
  #10 (permalink)  
Antiguo 17/07/2005, 12:33
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años, 6 meses
Puntos: 2
Esto te podría valer:

Código PHP:
<?
$host 
"your.host.com"
$port 80
$postdata "field1=value1&field2=value2&field3=value3"

if (
$sp fsockopen($host,$port)) { 


    
fputs($sp,"POST /path/to/somescript/php HTTP/1.0 "); 
    
fputs($sp,"Host: $host "); 
    
fputs($sp,"Content-type: application/x-www-form-urlencoded "); 
    
fputs($sp,"Content-length: ".strlen($postdata)." "); 
    
fputs($sp,"Connection: close "); 
    
fputs($sp,$postdata); 


    
// optionally print the response 
    
while (!feof($sp)) { 
        echo 
fgets($sp,128); 
    } 


    
fclose($sp); 


}  
?>
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #11 (permalink)  
Antiguo 17/07/2005, 19:34
Avatar de gzaloprgm  
Fecha de Ingreso: abril-2005
Ubicación: En mi casa
Mensajes: 67
Antigüedad: 19 años, 7 meses
Puntos: 1
Muchiiiisimas Gracias, eso es justo lo que necesitaba.


Saludos

Gonzalo
  #12 (permalink)  
Antiguo 18/07/2005, 00:02
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 21 años, 4 meses
Puntos: 1
Cita:
Iniciado por gzaloprgm
Muchiiiisimas Gracias, eso es justo lo que necesitaba.
Hola.

Yo pienso que te vendría mejor la librería cURL: http://www.php.net/curl/

Es la más usada para este propósito, soporta varios protocolos y en tu caso no necesitas tantas instrucciones.

Yo la uso y me anda bien... Lo que si te recomiendo es que uses la última versión porque le corregieron fallos de seguridad y ahorita anda bien.

Saludos.
__________________
Gustavo Narea.
Venezuela.
  #13 (permalink)  
Antiguo 01/07/2006, 19:01
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 19 años, 4 meses
Puntos: 1
ya que estamos expongo una duda que tengo usando curl

hice este php que pasa las variables var1 var2 y var3 con sus respectivos valores por POST a otro script


archivo post.php
Código PHP:
function doRequest($method$url$vars)
{
   
$ch curl_init();
   
curl_setopt($chCURLOPT_URL$url);
   
curl_setopt($chCURLOPT_HEADER1);
   
curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
   
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
   
curl_setopt($chCURLOPT_RETURNTRANSFER1);
   
curl_setopt($chCURLOPT_COOKIEJAR'cookie.txt');
   
curl_setopt($chCURLOPT_COOKIEFILE'cookie.txt');
   
curl_setopt($chCURLOPT_POST1);
   
curl_setopt($chCURLOPT_POSTFIELDS$vars);

   
$data curl_exec($ch);
   
curl_close($ch);
   if (
$data)
       return 
$data;
   else
       return 
curl_error($ch);
}


echo 
doRequest('POST','http://www.midominio.com/posta.php','var1=1&var2=2&var3=3'); 

y el archivo posta.php tiene esto:
Código PHP:
if(isset($_POST))
    foreach(
$_POST as $key => $key2)
        echo 
$key.' = '.$_POST[$key].'<br>';
else
    echo 
'No funca'


funaciona joya, envia los datos por POST pero cuando me muestra lo que imprime posta.php al recibir los datos por POST me muestra esto:


HTTP/1.0 200 OK Date: Sun, 02 Jul 2006 17:06:21 GMT Server: Apache/1.3.29 (Unix) FrontPage/5.0.2.2623 X-Powered-By: PHP/4.3.6 Connection: close Content-Type: text/html
var1 = 1
var2 = 2
var3 = 3



cuando lo que esperaba era esto solamente:

var1 = 1
var2 = 2
var3 = 3



como se hace para que no me imprima lo otro?
__________________
Dios es la unica fuente de todo bien.

Última edición por ASCENDEDMASTERS; 02/07/2006 a las 11:27
  #14 (permalink)  
Antiguo 02/10/2006, 05:13
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 19 años, 4 meses
Puntos: 1
y? alquien que me responda?
__________________
Dios es la unica fuente de todo bien.
  #15 (permalink)  
Antiguo 02/10/2006, 08:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Ya expusistes tu pregunta en un tema nuevo .. espera respuesta en ese mismo . .

http://www.forosdelweb.com/f18/simular-perfectamente-navegador-con-php-leer-cualquier-contenido-sitios-430681/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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




La zona horaria es GMT -6. Ahora son las 12:11.