a ver si lo entiendo cuando yo hago un embed a
www.google.es me genera en consola el siguiente error -->
Load denied by X-Frame-Options:
https://www.google.es/?gws_rd=ssl does not permit cross-origin framing.
y eso sucede con todas las paginas de google excepto las que son de por si embeds , entre ellas el traductor, logicamente los videos y mapas embed ...
eso quiere decir que cuando hago curl mediante php para pillar codigo ->
Código PHP :
function ex(){/*v-s011*/$A=func_get_args();$url=$A[0];if((func_num_args()==1)&&($A[0]=='@')){}else{$ch = curl_init();curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (rv:53.0) Gecko/20100101 Firefox/53.0");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_URL, $url);$output = curl_exec($ch);curl_close($ch);return $output;}}
echo ex('http://www.google.com');
Supongo que los mapas que se puede hacer embed si se puede, sin embargo desde las que no da el error ->
302 Moved
The document has moved here.
es decir que me detecta curl si lo paso por browser y me detecta que estoy utilizando curl por lo que me aparece un link para iniciar google pero sin curl por browser, mientras que desde consola bash curl-> google outputea codigo muy similar al del buscador pero evidentemente diferente porque detecta que es CLI y no GUI, que es el mismo codigo que saca el servidor google que outputea cuando utilizamos w3m o lynx desde terminal bash, otra cosa curiosa es que adicionando al codigo php el puerto correspondiente para tor y privoxy lo acoplo a php mediante ->
curl_setopt($ch, CURLOPT_PROXY, "localhost:9050");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
segun que pais pilles la ip proxy el hecho de pillar codigo funciona en unos paises en otros no
yo supongo que deben utilizar variables servidor desde su propio lenguaje, python o golang en php lo pillariamos en el array $_SERVER alli detecta si es gui o cli si utilizas curl o w3m o firefox incluso el sistema operativo incluso desde que pagina has linkeado para llegar a esa pagina.