我试图从远程URL下载XML文件但没有成功。我可以在网络浏览器中看到它的内容,但无法通过命令行下载(我可以手动下载,只需从网络浏览器下载)。我正在使用wget:
wget -q -O test.xml https://example.com/test
我也试过使用cURL但没有成功。
有什么想法吗?
答案 0 :(得分:2)
删除-q
,您会看到:
--2017-04-20 14:25:53-- https://example.com/test Resolving example.com... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946 Connecting to example.com|93.184.216.34|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2017-04-20 14:25:53 ERROR 404: Not Found.
该URL是404错误页面。因此text.xml
为空。
然后,如果你看一下手册:
--content-on-error If this is set to on, wget will not skip the content when the server responds with a http status code that indicates error.
所以:
wget -q --content-on-error -O test.xml https://example.com/test
...成功下载该资源。
虽然它不是有效的XML。 HTML 5 Doctype打破了它。
答案 1 :(得分:0)
尝试设置标题
wget -q -O --header="Accept:text/xml,*/*" test.xml https://example.com/test