Я пытаюсь получить данные с этого веб-сайта, используя ссылку для загрузки CSV, расположенную в разделе Действия> Загрузить> CSV
https://app.udot.utah.gov/apex/eom/f?p=288:300
Я получаю ошибку 302 в строке UrlFetchApp последовательнои я не понимаю почему.Я запустил регистратор с httpexception и получил ошибку, что он не может подключиться к серверу.Веб-сайт общедоступен и доступен независимо от сети, поэтому мне трудно понять, что происходит.URL, кажется, загружает CSV при вводе вручную, но я не могу заставить UrlFetchApp захватить его.
var EquipUrl = "https://app.udot.utah.gov/apex/eom/f?p=288:300:::CSV";
var EquipContent = UrlFetchApp.fetch(EquipUrl).getContentText();
var EquipData = Utilities.parseCsv(EquipContent);
Любая помощь будет оценена!
Я только что попробовал следующее в предложении в комментарияхи имел тот же результат ошибки 302.Я также попытался установить перенаправления на false, и это продолжается и заканчивается пустым массивом EquipData
var options = {
'followRedirects' :true
];
var EquipUrl = "https://app.udot.utah.gov/apex/eom/f?p=288:300:::CSV::::";
var EquipContent = UrlFetchApp.fetch(EquipUrl, options).getContentText();
var EquipData = Utilities.parseCsv(EquipContent);
Спасибо за помощь TheMaster!Я сказал в своем комментарии, что код выплевывал ошибку в строке файлов cookie var, но эта ошибка исправилась, поэтому я думаю, что это была неверная копия вашего кода с моей стороны.Проблема в том, что в последней строке Logger выдается ошибка «Не удалось разобрать текст».
function fetchUrlWithCookie() {
var url = 'https://app.udot.utah.gov/apex/eom/f?p=288:300:::CSV';
var response = UrlFetchApp.fetch(url, {
muteHttpExceptions: true,
followRedirects: false,
});
var cookie = response.getAllHeaders()['Set-Cookie'];
response = UrlFetchApp.fetch(url, {
muteHttpExceptions: true,
headers: {
Cookie: cookie, //send the cookie we got as header
},
});
Logger.log(Utilities.parseCsv(response.getContentText()));//parseCSV
}
Я пробовал несколько разных вариантов, например, пытался войти в систему, прежде чем посмотреть, смогу ли я что-нибудь найти.Есть ли какая-нибудь информация, которую я мог бы извлечь из регистрации в Stackdriver, которая могла бы помочь выявить проблемы?
Огромное спасибо TheMaster!Это сработало!Я был бы рад, если бы вы прокомментировали и рассмотрели процесс решения вашей проблемы, чтобы я мог помочь узнать, что нужно искать в следующий раз, когда это произойдет, но я знаю, что это требует много.
var url = 'https://app.udot.utah.gov/apex/eom/f?p=288:300::CSV::::';
var response = UrlFetchApp.fetch(url, {
muteHttpExceptions: true,
followRedirects: true,
});
var cookie = response.getAllHeaders()['Set-Cookie'];
response = UrlFetchApp.fetch(url, {
muteHttpExceptions: true,
headers: {
Cookie: cookie, //send the cookie we got as headerw
},
});
Logger.log(Utilities.parseCsv(response.getContentText()));//parseCSV
Это копия кода, которая полностью функционирует.Еще раз спасибо за вашу помощь в течение этого нескольких дней для решения этой проблемы.