Menú Principal

Duda PHP

Iniciado por Gogeto, 13 Abril 2011, 19:06 PM

0 Miembros y 1 Visitante están viendo este tema.

Gogeto

Hola.

He estado mirando la biblia de PHP, y he visto que es posible acceder a una página web remota y obtener informacion de la misma, asi como crear archivos en un servidor remoto, pero es posible que un script php ACCEDA a un sitio web externo y lo "utilice"?

Es decir, un ejemplo de implementacion seria:
Alguien introduce un enlace en mi sitio web. Un script php captura el enlace del formulario y lo envía digamos a un rapidleech o sborg (scripts que descargan/suben archivos a fileserve etc) alojado en un servidor externo. Para que este segundo servidor se lo descargue, resuba y al devolver los enlaces el script del primer sitio web los guarda en la base de datos.

La pregunta es, es posible que el script del sitio web A "utilice" automaticamente el sborg o rsapidleech en lugar de tener que ir yo manualmente a dar los clicks necesarios. En caso afirmativo, donde hay un manual que explique como acceder e interactuar con otros sitios web


Gogeto

#2
Muchas gracias, pero seguro que con eso se puede hacer? Se puede conectar y obtener informacion, pero parece que no me permite simular por ejemplo rellenar un formulario en un sitio web DISTINTO AL QUE ESTA INSTALADO EL SCRIPT DEÑ QUE HABLAMOS y hacer que se "pulse" el boton submit...

Nakp

claro que se puede :P pero tienes que procesar la respuesta y llenarla vos mismo, lo cual implica buscar en el texto el nombre de los campos, los valores (por si hay token) y hacer post con los valores que desees desde el mismo curl... la tenes un poco dificil pero de que se puede se puede ;)
Ojo por ojo, y el mundo acabará ciego.

Feedeex

Agregando a lo que dijo Nakp, fijate bien donde lo querés hacer, recordá los captchas. Digo nomás, para no perder tiempo...

Gogeto

El tema captchas y demas esta resuelto.
Tengo un script profesional comprado (cifrado por desgracia, una vez instalado no tengo acceso al código >.<) que con introducirle los enlaces y ciertos parametros vale.

Lo que quiero saber es, como con cUrl introducirias datos de un formulario y le darias al "ok" hipoteticamente xD

Un ejemplo con código seria la leche, esque he estado mirando el cURL pero sin un ejemplo no lo veo claro

WHK

No conozco esos sistemas que dices tu pero talves el ejemplo de php.net te deje mas claro:

Código (php) [Seleccionar]
<?php
$data 
"<soap:Envelope>[...]</soap:Envelope>";
$tuCurl curl_init();
curl_setopt($tuCurlCURLOPT_URL"https://example.com/path/for/soap/url/");
curl_setopt($tuCurlCURLOPT_PORT 443);
curl_setopt($tuCurlCURLOPT_VERBOSE0);
curl_setopt($tuCurlCURLOPT_HEADER0);
curl_setopt($tuCurlCURLOPT_SSLVERSION3);
curl_setopt($tuCurlCURLOPT_SSLCERTgetcwd() . "/client.pem");
curl_setopt($tuCurlCURLOPT_SSLKEYgetcwd() . "/keyout.pem");
curl_setopt($tuCurlCURLOPT_CAINFOgetcwd() . "/ca.pem");
curl_setopt($tuCurlCURLOPT_POST1);
curl_setopt($tuCurlCURLOPT_SSL_VERIFYPEER1);
curl_setopt($tuCurlCURLOPT_RETURNTRANSFER1);
curl_setopt($tuCurlCURLOPT_POSTFIELDS$data);
curl_setopt($tuCurlCURLOPT_HTTPHEADER, array("Content-Type: text/xml","SOAPAction: \"/soap/action/query\"""Content-length: ".strlen($data)));

$tuData curl_exec($tuCurl);
if(!
curl_errno($tuCurl)){
  
$info curl_getinfo($tuCurl);
  echo 
'Took ' $info['total_time'] . ' seconds to send a request to ' $info['url'];
} else {
  echo 
'Curl error: ' curl_error($tuCurl);
}

curl_close($tuCurl);
echo 
$tuData;
?>


Recuerda que si tienes alguna duda con tu código te podemos ayudar pero asi de cero no les hacemos los trabajos a nadie.

Gogeto

Hola.

No me malinterpretes, no quiero que me hagan MI CODIGO para algo especifico, solo busco códigos de ejemplo que tengan funciones en comun y utilizades parecidas para poder usarlos como modelo, ejemplo.

Me resulta más facil aprender viendo una funcion implementada, y si no se lo que hace consultando los datos de la funcion que cojer la libreria cURL (que es lo que trato de aprender ahora y me esta costando) y ponerme a leerla y tener que deducir de la nada como hacer algo.

De todas formas, muchas gracias por el código de ejemplo, es realmente lo que estaba buscando, una aplicacion práctica parecida a lo que yo quiero hacer para poder entenderlo bien.