我正在编写一个使用sentinelsat
Python API 下载 Sentinel 2 产品(卫星图像)的脚本。
产品的描述采用 JSON 结构并包含参数quicklook_url
。
例子:
任何 Sentinel API 调用都需要凭据。检索产品并打开存储在其中的链接也是如此quicklook_url
。当我在浏览器中调用示例时,系统会要求我输入用户名和密码以获取
同名S2A_MSIL2A_20210625T065621_N0300_R063_T39NTJ_20210625T093748-ql.jpg
。
不用说我只是从 API 开始,所以我可能遗漏了一些东西,但是
requests.post(product_description['quicklook_url'], verify=False, auth=HTTPBasicAuth(username, password)).content
产生 0KB 损坏的文件和
requests.get(product_description['quicklook_url']).content
产生 1KB 损坏的文件。
我调查过requests.Session
session = requests.Session()
session.auth = (username, password)
auth = session.post('URL_FOR_LOGING_IN')
img = session.get(product_description['quicklook_url']).content
问题是我找不到发布会话身份验证所需的 URL。我有点确定sentinelsat
API 可以做到这一点,但我的外观并没有产生任何成功的结果。
我目前正在SentinelAPI
上课。它具有download_quicklook()
我现在正在使用的功能,但我仍然很好奇如何在没有该功能的情况下做到这一点。