Головной запрос через firefox консоль заблокирован - PullRequest
0 голосов
/ 12 апреля 2020

В python, если я делаю

import requests
x = requests.head('https://www.google.com')
print(x.headers)

Это работает, и я получаю ответ. С другой стороны, если я открываю консоль разработчика на пустой вкладке в Firefox и выполняю

var xmlhttp = new XMLHttpRequest();
xmlhttp.responseType = "json"
xmlhttp.open("HEAD", "https://www.google.com", true)
    xmlhttp.onreadystatechange= function() {
        if(xmlhttp.readyState==4) {
            console.log(xmlhttp.getAllResponseHeaders())
        }
}
xmlhttp.send()

, я получаю эту ошибку:

Блокировка перекрестного запроса : Та же политика происхождения запрещает чтение удаленного ресурса на https://www.google.com/. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin».)

Ошибка не появляется, если я открываю веб-сайт на Firefox и затем отправляю запрос через консоль. Из того, что я до сих пор читал об этом, является то, что firefox уважает CORS, в то время как другие инструменты (например, почтальон или python запросы) - нет. Firefox четные блоки, если я пытаюсь добавить эту строку:

xmlhttp.setRequestHeader("Host", "https://www.google.com");

Есть ли способ заставить эту работу работать с Firefox? Мне нужно сделать некоторые измерения задержки, отправив запросы головы через Firefox (не могу использовать любой другой метод, если нет способа сделать эту работу)

Я также попытался сделать это через ajax в консоли браузера :

$.ajax({
    url: "https://www.google.com",
    type:'HEAD',
    dataType: "jsonp",
    crossDomain:true,
    success: function(data){
        alert(data);
        return false;
    }
})

но не повезло.

...