我正在使用 Windows 10 和 curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL。
我正在尝试使用此命令从 ESA API 下载文件curl
:
curl --ssl-no-revoke -u eduardojsilvajr \
https://scihub.copernicus.eu/dhus/search?q=footprint:"Intersects(POLYGON((-4.53 29.85,26.75 29.85,26.75 46.80,-4.53 46.80,-4.53 29.85)))"
这是一个例子哥白尼开放存取中心 API 站点。
但是当我运行上述curl
命令时,我收到以下消息:
<?xml version="1.0" encoding="utf-8"?><feed xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.w3.org/2005/Atom">
<title>Sentinels Scientific Data Hub search results for: footprint:Intersects(POLYGON((-4.53</title>
<subtitle>Displaying results. Request done in 0.001 seconds.</subtitle>
<updated>2019-02-20T23:17:34.037Z</updated>
<author>
<name>Sentinels Scientific Data Hub</name>
</author>
<id>https://scihub.copernicus.eu/dhus/search?q=footprint:Intersects(POLYGON((-4.53</id>
<opensearch:totalResults/>
<opensearch:startIndex>0</opensearch:startIndex>
<opensearch:itemsPerPage>10</opensearch:itemsPerPage>
<opensearch:Query role="request" searchTerms="footprint:Intersects(POLYGON((-4.53" startPage="1"/>
<link rel="self" type="application/atom+xml" href="https://scihub.copernicus.eu/dhus/search?q=footprint:Intersects(POLYGON((-4.53&start=0&rows=10"/>
<link rel="first" type="application/atom+xml" href="https://scihub.copernicus.eu/dhus/search?q=footprint:Intersects(POLYGON((-4.53&start=0&rows=10"/>
如您所见,空格存在问题。我尝试了反斜杠、单引号、双引号以及使用文件 (@file) 传递 URL,但都无法使此curl
命令正常工作。
我怎样才能让它工作?
答案1
--data-urlencode
您可以像这样使用 curl 的内置开关:
curl --ssl-no-revoke -u eduardojsilvajr --data-urlencode "q=footprint:\"Intersects(POLYGON((-4.53 29.85,26.75 29.85,26.75 46.80,-4.53 46.80,-4.53 29.85)))\"" https://scihub.copernicus.eu/dhus/search
查看手册页了解更多信息。