Encontré un muro de pago y estoy tratando de eludirlo usando javascript en la consola. Investigué un poco y encontré algunos enfoques diferentes, uno de los cuales es cambiar el encabezado de solicitud para hacer que un sitio web determinado crea que llegaste allí a través de un enlace de Twitter (lo que te permite ver el contenido de forma gratuita). La función que uso tiene como objetivo cambiar el referente escuchando el evento onBeforeSendHeaders como se especifica en https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeSendHeaders . Tiene el siguiente aspecto (NOTA: esta función se escribe y ejecuta directamente dentro de la consola de devtools):
function setReferer(x){ x.requestHeaders = x.requestHeaders.filter(function(header){ if(header.name === 'Referer'){ return false return true )} x.requestheaders.push( { "name: "Referer", "value": "https://t.co/" //Twitter website } return {requestHeaders: x.requestHeaders}; } //this example uses chrome browser chrome.webRequest.onBeforeSendHeaders.addListener(setReferer, { urls: ["<all_urls>"], types: ["main_frame"], }, ["requestHeaders", "blocking", "extraHeaders"] //extraHeaders meant to bypass CORS protocol );Desafortunadamente, al actualizar la ventana, este enfoque me da el siguiente error:
OBTENER <alguna_url> net:ERR_BLOCKED_BY_CLIENT
Detrás de este error está la URL del código fuente del artículo, que pude cargar y copiar en Word, así que obtuve el artículo que estaba buscando de todos modos. Sin embargo, no pude verlo dentro del marco principal de los navegadores. Tenga en cuenta que estoy haciendo esto solo con el propósito de pulir mis habilidades de codificación. Estoy tratando de comprender mejor las facetas más complicadas del protocolo HTTP, especialmente la forma en que los encabezados se envían al lado del cliente y se interpretan al lado del servidor. Si alguien sabe más sobre el tema o sabe / tiene un recurso que quiere compartir, ¡se lo agradecería mucho!