您好,打扰了,想问一下您这个问题最后是怎么解决的呀,现在我下载文件也出现了这个问题
5条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
要解决这个问题,你需要检查几个可能的原因,并根据情况调整wget命令。
首先,确保你的网络连接正常,因为错误信息提到"Unknown error"可能是由于网络连接问题导致的。尝试访问其他网站看看是否能正常打开。
其次,检查你的wget版本以及它是否支持处理OAuth认证。如果你的wget不支持OAuth,你可能需要更新到最新版本或者使用像
curl
这样的工具替代。另外,URL中包含一些特殊字符,这可能导致命令解析错误。尝试将URL中的特殊字符替换为它们的URL编码。例如,空格应替换为
%20
,&
应替换为%26
,等。为了简化这个过程,我建议你使用Python的requests库来处理OAuth认证并下载文件。下面是一个简单的示例脚本,展示了如何使用requests库获取OAuth授权码,然后使用该授权码下载文件:
import requests import os # 将你的用户名和密码替换为实际值 username = 'your_username' password = 'your_password' # 获取临时授权码 auth_url = "https://urs.earthdata.nasa.gov/oauth/authorize?" params = { "scope": "uid", "app_type": "401", "client_id": "e2WVk8Pw6weeLUKZYOxvTQ", "response_type": "code", "redirect_uri": "http://google.com", # 这里只是一个占位符,实际上不需要重定向 "state": "random_string" } response = requests.get(auth_url, params=params) authorization_code = response.url.split("code=")[-1] # 使用授权码换取access token token_url = "https://urs.earthdata.nasa.gov/oauth/token" payload = { "grant_type": "authorization_code", "code": authorization_code, "client_id": "e2WVk8Pw6weeLUKZYOxvTQ", "client_secret": "", # 如果有提供,填入这里 "redirect_uri": "http://google.com" } headers = {"Accept": "application/json"} token_response = requests.post(token_url, data=payload, headers=headers) access_token = token_response.json()["access_token"] # 使用access token下载文件 base_url = "https://n5eil01u.ecs.nsidc.org/thredds/dodsC/MERRA2/" file_list_url = "https://urs.earthdata.nasa.gov/thredds/fileServer/MERRA2/s Randolph.html" session = requests.Session() session.headers.update({"Authorization": f"Bearer {access_token}"}) # 获取所有文件URL response = session.get(file_list_url) file_urls = [f"https:{url.split('//')[-1]}" for url in response.text.split('\n') if "nc4" in url and ".html" not in url] # 下载每个文件 for file_url in file_urls: filename = file_url.split("/")[-1] with open(os.path.join('D:\\merra', filename), 'wb') as f: response = session.get(file_url, stream=True) if response.status_code == 200: for chunk in response.iter_content(chunk_size=8192): f.write(chunk) else: print(f"Failed to download {filename}, status code: {response.status_code}")
这个Python脚本会首先获取OAuth授权码,然后使用该授权码换取access token。接着,它会遍历网页上的所有.nc4文件链接,并使用access token下载这些文件。
请确保已经安装了requests库,如果没有,可以通过pip安装:
pip install requests
运行这段代码之前,记得替换
your_username
和your_password
为你的真实账号信息。同时,注意检查NASA EarthData Login的设置,确保你有足够的权限下载所需数据。如果还有问题,请检查是否有足够的存储空间、网络连接是否稳定,或者联系NASA EarthData Support寻求进一步的帮助。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
- ¥15 安装quartus II18.1时弹出此error,怎么解决?
- ¥15 keil官网下载psn序列号在哪
- ¥15 想用adb命令做一个通话软件,播放录音
- ¥30 Pytorch深度学习服务器跑不通问题解决?
- ¥15 部分客户订单定位有误的问题
- ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
- ¥15 Bug traq 数据包 大概什么价
- ¥15 在anaconda上pytorch和paddle paddle下载报错
- ¥25 自动填写QQ腾讯文档收集表