Ciao a tutti,
quando tento di aprire il codice html di una pagina web, ottengo solo il testo del consenso ai cookie anziché il contenuto della pagina.
Ad esempio, essendo nel Regno Unito e tentando di aprire la home page di jmp, questo è quello che ottengo:
//:*/
Page = open("https://www.jmp.com/");
/*:
String( "<HEA... 2588="" total="" characters="" ...="">
" ) assigned.
//:*/
print (Page);
/*:
"<SCRIPT type="\!"text/javascript\!"">
function callAjax(url, fallbackUrl, callback){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState === 4 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; xmlhttp.status === 200){
callback(xmlhttp.responseText);
}
}
xmlhttp.open(\!"GET\!", url, true);
xmlhttp.timeout = 3000; // time in milliseconds
xmlhttp.ontimeout = function() {
console.log(\!"countrycode xhr request timed out\!");
window.location.replace(fallbackUrl);
}
xmlhttp.send();
}
function findInLocales(locales, cookielocale) {
var i = 0;
var found = \!"\!";
while (i &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt; locales.length &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; !found) {
if (locales[i].substring(2) === '_' + cookielocale.toLowerCase()) {
found = locales[i];
}
i++;
}
return found;
}
function geoResetURL(locales) {
var windowReplacement = window.location.href;
var regex = /\/[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]\//;
var regextest = /[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]/;
windowReplacement = windowReplacement.replace('.geo.', '.');
var match = document.cookie.match(new RegExp('(^| )usr_locale=([^;]+)'));
var cookielocale = '';
if (match != null &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; match.length &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; 2) {cookielocale = match[2];}
if (!cookielocale.match(regextest)) {
var result;
var code = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
callAjax( '/services/countrycode?'+code, windowReplacement,
function (result) {
var jsonresult = result.replace(/[()]/g, '');
cookielocale = findInLocales(locales, (JSON.parse(jsonresult)).address.country_code);
if (locales.indexOf(cookielocale) != -1) {
windowReplacement = windowReplacement.replace(regex, '/' + cookielocale + '/');
}
window.location.replace(windowReplacement);
});
} else {
if (locales.indexOf(cookielocale) != -1) {
windowReplacement = windowReplacement.replace(regex, '/' + cookielocale + '/');
}
window.location.replace(windowReplacement);
}
}
(function () {
var locales = ['en_us','en_be','de_at','zh_cn','en_dk','fr_fr','de_de','it_it','ja_jp','ko_kr','en_nl','en_ch','en_gb','en_ca','fr_ca','zh_tw','pt_br','es_mx','es_es','en_au','en_hk','en_my','en_ph','en_in','en_sg','es_ar','es_cl','es_co','es_pe'];
geoResetURL(locales);
}) ();</SCRIPT>
<P>Redirecting ...</P>
"
</HEA...>
Molte grazie per eventuali suggerimenti nella giusta direzione.
ron
Apri Strumenti per sviluppatori nel tuo browser (F12), seleziona la scheda Rete e vai su jmp.com. Da lì dai un'occhiata ai domini/file e prova a trovarne uno "corretto":


Ora prova ad aprirlo.
Questo approccio potrebbe funzionare o almeno avvicinarti, a seconda del sito Web e di ciò che vuoi ottenere da lì.
Grazie @jthi ,
Ho dato un'occhiata agli strumenti di sviluppo ma non sono ancora riuscito a decifrarlo come comando.
sono riuscito a ottenere l'html di http://jmp.com/ eseguendo i seguenti passaggi:
1) file >> internet aperto >> pagina web.
2) aprire jmp.com come pagina web

3) accettare/non accettare i cookie in modo interattivo

4) eseguire la seguente istruzione:
page = open ("https://www.jmp.com/en_gb/home.html")
note: l'approvazione dei cookie dura solo all'interno della stessa sessione jmp. Dopo di che le preferenze non vengono ricordate.
Questo metodo è utile nel mio caso poiché recupera solo le informazioni da un dominio in ogni sessione. pertanto, l'approvazione manuale non è troppo difficile. se lo script attraversa i domini durante il recupero dei dati, sarebbe bello automatizzarlo in qualche modo.
questo metodo ha funzionato anche per la pagina Web da cui stavo effettivamente recuperando i dati, quindi è affidabile in tale misura.