我想向Python(3.9.7)脚本发送一个复杂的curl命令,下载一个输出文件.tif。 我使用一个TimeNum变量,因为我想下载不同的文件,并将.tif文件剪辑在个人感兴趣的区域(我想使用for循环)。
curl命令是这样的。
curl --data '{"productType":"VMI","productDate":"1648710600000"}'-H "Content-Type: application/json" -X POST https://example.it/wide/product/downloadProduct --output hrd2.tif
I try different solutions:
import shlex
import subprocess
TimeNum=1648710600000
cmd ='''curl --data \'{"productType":"VMI","productDate":"%s"}\' -H "Content-Type: application/json" -X POST https://example.it/wide/product/downloadProduct --output %s.tif''' % (TimeNum,TimeNum)
args = shlex.split(cmd)
process = subprocess.Popen(args, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
下载成功了,但输出占用了1KB,而不是大约11MB,而且当我试图在Windows中打开它时出现了错误。
I write a txt file with a list of curl command line by line and then:
file = open('CURL_LIST.txt', 'r')
lines = file.readlines()
for line in enumerate(lines):
os.system(line.strip())
但它不能正常工作,而且我的输出与上述情况1相同。
现在我尝试使用urllib.request,但我不能很好地使用它。
有人有建议吗?
谢谢你的帮助