首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UrlFetchApp压缩文件

UrlFetchApp压缩文件
EN

Stack Overflow用户
提问于 2019-03-03 06:12:08
回答 1查看 238关注 0票数 0

我正在尝试获取一个带有以下代码的zip文件:

代码语言:javascript
复制
  var options = {
    'method' :'get',
    'validateHttpsCertificates' : false,
    'escaping': true
  };
  var url = "https://www.propertypriceregister.ie/website/npsra/ppr/npsra-ppr.nsf/Downloads/PPR-ALL.zip/$FILE/PPR-ALL.zip" 
  var zipblob = UrlFetchApp.fetch(url, options).getBlob(); 
  var unzipblob = Utilities.unzip(zipblob); 

并获取错误Address unavailable: https://www.propertypriceregister.ie/website/npsra/ppr/npsra-ppr.nsf/Downloads/PPR-ALL.zip/$FILE/PPR-ALL.zip

我通常会使用wget下载文件。

代码语言:javascript
复制
wget --no-check-certificate 'https://www.propertypriceregister.ie/website/npsra/ppr/npsra-ppr.nsf/Downloads/PPR-ALL.zip/$FILE/PPR-ALL.zip'

这很好用--解压缩后的文件是一个csv。

在应用程序脚本中尝试了不同的选项值,使用escaping=false等,但没有太多成功。

如果能帮上忙,我会非常感激!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-03-03 07:12:36

这个修改怎么样?

修改点:

  • 来自你的wget示例命令,在你的例子中,我认为options不是必需的。
  • 当下载压缩文件时,从响应头发现mimeType为application/x-zip。如果是Utilities.unzip(),则需要将mimeType修改为application/zip
    • 在本例中,我使用的是setContentTypeFromExtension(),因为文件名中包含extension.

当以上几点反映到您的脚本中时,它将如下所示。

修改后的脚本:

代码语言:javascript
复制
var url = "https://www.propertypriceregister.ie/website/npsra/ppr/npsra-ppr.nsf/Downloads/PPR-ALL.zip/$FILE/PPR-ALL.zip" 
var zipblob = UrlFetchApp.fetch(url).getBlob(); // Modified
zipblob.setContentTypeFromExtension(); // Added
var unzipblob = Utilities.unzip(zipblob);

参考资料:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54963537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档