curl - curl请求下载文件的身份验证错误
问题描述
我想从以下链接(直接下载链接)下载文件:
在浏览器中,当我点击上述网址时,它给了我以下错误:“访问此资源需要凭据。”
为了克服这个问题,首先我在浏览器中访问基本 URL(如下所示),然后从另一个选项卡点击直接链接。这使我可以下载文件而无需凭据错误。 https://spaces.hightail.com/receive/SxnIY0QbDr <--- 基本网址
我想使用直接下载链接使用 curl 下载相同的文件。但是,我得到了相同的“需要凭据”错误。
- 如何使用 curl 从直接下载链接下载文件并避免“需要凭据”错误?
- 为什么在访问浏览器中的下载链接之前需要先访问基本 url?
可能是base url与浏览器共享一些身份验证信息,稍后浏览器使用相同的信息,但我没有清楚的理解。
谢谢 !!!
解决方案
我解决这个问题的方法是:
使用浏览器下载文件时,从浏览器开发工具获取请求标头详细信息(原始数据)并将其存储在本地文件中。它还包含用于身份验证的 cookie。
获取证书 (.pem) 文件。由于我使用了一些代理服务器,因此我从代理服务器管理控制台获得了它。
执行以下 curl 命令:
curl -v -S -x proxy_ip:proxy_port -H "$(cat raw_header)" --cacert cert.pem -o ./myfile https://download.spaces.hightail.com/api/v1/download/sp- 79272721-ef49-4de4-a239-01f5be0692a7
推荐阅读
- angular - 基于 Angular 中的数据的 Kendo Excel 导出格式
- javascript - HTML/CSS 悬停下拉菜单
- javascript - 如何在 React Native 中打开 OAuth 模式时提示用户
- python - 我将如何编写这个用 Python 2 编写的 for 循环,称为字符串插值到 python3 的语法中?
- c - 我的 Linux C 进程如何知道在命令行上打开了多少文件?
- node.js - 如何在 NodeJS 中正确使用回调函数
- java - Spring Boot 端点路径
- swift - UIButton 正在更改 collectionView 单元格中的其他 UIButton,我该如何防止这种情况发生?
- python - 无法从 netCDF 文件中读取变量
- angular - 使用 Angular 8 在嵌套的 FormControl 对象上设置验证器