Foros del Web » Programando para Internet » PHP »

Pasar variables desde un script php a url

Estas en el tema de Pasar variables desde un script php a url en el foro de PHP en Foros del Web. Hola buenos días.. Tengo que hacer un script en php que me pase unas variables a un webservice. No tengo muy claro como hacerlo. En ...
  #1 (permalink)  
Antiguo 28/06/2017, 04:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 0
Pasar variables desde un script php a url

Hola buenos días..

Tengo que hacer un script en php que me pase unas variables a un webservice.
No tengo muy claro como hacerlo.
En una página "normal" haría:

Código HTML:
<a href="prueba.php?a=123&b=567></a>"
Pero en el script?

Alguna idea d por donde tirar?

Muchas gracias
  #2 (permalink)  
Antiguo 28/06/2017, 11:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Pasar variables desde un script php a url

Qué tipo de webservice es?

Por lo general, te conectas a través de NuSoap para obtener propiedades y métodos disponibles y, además, debe haber un manual para aclarar todas tus dudas.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/06/2017, 09:30
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 2 meses
Puntos: 11
Respuesta: Pasar variables desde un script php a url

Si es un Web Service SOAP puedes usar algo como esto:
Código PHP:
Ver original
  1. $cliente= new SoapClient("http://localhost:8080/JavaWebServiceSOAPServer/services/ConversionService?wsdl",array('trace' => 1,'soap_version' => SOAP_1_1));
  2. echo "Funciones del server SOAP: ";
  3. var_dump($cliente->__getFunctions());
  4. $arreglo=array('fromCurrency'=>"",'toCurrency'=>"");
  5. echo "Parametros a enviar al web service:";
  6. var_dump($arreglo);
  7. $strResp = $cliente->__soapCall('conversionRate',array($arreglo));
  8. echo "Objeto Respuesta:";
  9. var_dump($strResp);
  10. echo "Valor deseado(el nombre esta en el WSDL): \$strResp->conversionRateReturn = ". $strResp->conversionRateReturn. "<br/>";

Si es un Web service tipo rest es algo asi:

Código PHP:
Ver original
  1. $url="http://maps.googleapis.com/maps/api/geocode/xml?address=reforma%20255&sensor=false";//usar urlencode($variable) para codificar los caracteres de espaÑol en la url
  2. $ch = curl_init($url); //Inicia una nueva sesión y devuelve el manipulador curl. Tambie se puede configurar con curl_setopt($ch, CURLOPT_URL, $url)
  3. //curl_setopt(RecursoDevueltoPor->curl_init(),LaOpcionCURLOPT_XXXqueSeVaaconfigurar,ValorAconfigurarEnLaOpcion);
  4. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");//Método de petición personalizado a usar. Es útil para hacer varios tipos de peticiones HTTP menos comunes. "GET", "HEAD", "POST", "CONNECT", "DELETE" y otros, son valores válidos
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //TRUE para devolver el resultado de la transferencia como string del valor de curl_exec() en lugar de mostrarlo directamente.
  6. $respuesta = curl_exec($ch);  //Ejecuta la sesión cURL que se le pasa como parámetro. Esta función debe llamarse después configurar las opciones para la sesión.
  7. curl_close($ch);  //Cerrar el recurso cURL y liberar recursos del sistema
Y por ultimo para usar las variables que mandas desde javascript en estos php es con:
$_GET["a"] o en su defecto $_POST["a"]
  #4 (permalink)  
Antiguo 29/06/2017, 09:58
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Pasar variables desde un script php a url

Muchas gracias a ambos por responder...

Y si se tratara de un simple archivo que recibiera los datos que yo le mandase?
Tipo url?dato1=1&dato2=2, como podría madar eso desde php?

Gracias
  #5 (permalink)  
Antiguo 30/06/2017, 06:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Pasar variables desde un script php a url

Vale..

Lo que me piden es poder mandar datos a una url mediante PUT.
He estado buscando y veo que hay que hacerlo mediante curl, pero no me funciona:

Hago esto:

Código PHP:
<?php
$agi 
= new AGI();

$alrid $agi->request['agi_arg_1'];
$alrresponse $agi->request['agi_arg_2'];

$data = array("id" => $alrid"response" => $alrresponse);

$ch curl_init();

curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_CUSTOMREQUEST"PUT");
curl_setopt($chCURLOPT_POSTFIELDS,http_build_query($data));

$rep curl_exec($ch);

if(!
resp)
{
  return 
false;
  
$agi->set_variable("RESP",'$resp');
}
else
{
  
$agi->set_variable("RESP",'$resp');
}
?>
Pero no me funciona...

Alguien ve algo mal?

Gracias
  #6 (permalink)  
Antiguo 30/06/2017, 08:33
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 9 meses
Puntos: 23
Respuesta: Pasar variables desde un script php a url

Código PHP:
Ver original
  1. $ch = curl_init("http://localhost/tuphp.php");//te hace falta este parámetro donde va el archivo que recibe las variables.
  2. curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($data));//CURLOPT_POSTFIELDS cambialo por CURLOPT_PUTFIELDS
  3. curl_setopt($ch, CURLOPT_PUT, 1);//Te hace falta esta linea
  4. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // esta linea no es necesaria
  5. //Yo haría algo así para ver la respuesta:
  6. echo $respuesta = curl_exec ($ch);
  7. curl_close ($ch);//finalmente cierras el curl

Espero te sirva
__________________
Un buen programa depende de la imaginación.
  #7 (permalink)  
Antiguo 03/07/2017, 08:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Pasar variables desde un script php a url

Perfecto, me ha funcionado como quería.

Muchas gracias

Etiquetas: url, variable, variables
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 02:08.