gpt4 book ai didi

javascript - 如何从具有大量重定向的 URL 下载文件

转载 作者:行者123 更新时间:2023-12-03 07:05:44 26 4
gpt4 key购买 nike

我正在尝试使用 Apps 脚本 (JS) 将 XML 文件的内容从 URL 获取到 Google 表格

不幸的是,URL 有很多奇怪的重定向,我在服务器端对此没有影响。我需要在 JS 中处理它。在 Firefox 中,我能够正常下载文件,但在 JS 中,这是一个挑战。

我搜索了好几天的解决方案,但没有任何帮助。 JS就是获取不到文件内容。

网址:https://www.nife.pl/getfile-woocommerce/b55a488229b69d7c4ddf2a9f1a6b5dcb.xml

我试过那些:

  • Goolge 表格单元格中的默认 importXML 如下所示:

=importXml("https://www.nife.pl/getfile-woocommerce/b55a488229b69d7c4ddf2a9f1a6b5dcb.xml"; "//变体")

  • UrlFetchApp:
function test(){
var url = 'https://www.nife.pl/getfile-woocommerce/b55a488229b69d7c4ddf2a9f1a6b5dcb.xml';
var xml = UrlFetchApp.fetch(url,{'followRedirects': true, 'muteHttpExceptions': true}).getContentText();
var jsonV = XML_to_JSON(xml);
Logger.log(jsonV);
}
  • XMLService:

var xml = XmlService.parse('https://www.nife.pl/getfile-woocommerce/b55a488229b69d7c4ddf2a9f1a6b5dcb.xml',{'followRedirects': true, 'muteHttpExceptions': true});

  • 尝试了 followRedirects && muteHttpExceptions truefalse

没有任何帮助。

知道如何将内容从此 XML 获取到 GoogleSheets 吗?

最佳答案

以下代码有效:

function getXml() {
var response = UrlFetchApp.fetch(
'http://www.nife.pl/getfile-woocommerce/b55a488229b69d7c4ddf2a9f1a6b5dcb.xml?waluta=EUR',
{
headers: {Cookie: 'ip2loc=isset'},
}
);
if (response.getResponseCode() == 200) {
var content = response.getContentText();
Logger.log(content.length); // 1612024.0 in my test
}
}

请注意,当 HTTP 响应代码等于 302 时,上述 URL 取自第一个响应“Location” header 。 .相同的响应显示了另一个 header :“Set-cookie:ip2loc=isset”。我质疑这个 cookie 对于接收完整数据很重要,因此我们应该在请求中将其作为 header 实现。实际上,在更正了 URL 并添加了 cookie header 之后,我们可以像任何浏览器一样获得 XML。

关于javascript - 如何从具有大量重定向的 URL 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64620941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com