0

我正在尝试从本地网络服务器(网络服务器在信号调理仪器上运行)下载一个 CSV 文件:

curl -O http://10.0.0.139/crv01.csv

curl 的输出只是奇怪的符号。如果我将相同的 url 放在 Safari 中,则正确描述了 CSV 文件。curl有任何编码问题吗?

我尝试了详细的选项,它给出:

Gunthers-MacBook-Pro:Documents guenther$ curl -v -O http://10.0.0.141/crv01.csv
* About to connect() to 10.0.0.141 port 80 (#0)
*   Trying 10.0.0.141...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* connected
* Connected to 10.0.0.141 (10.0.0.141) port 80 (#0)
> GET /crv01.csv HTTP/1.1
> User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8x zlib/1.2.5
> Host: 10.0.0.141
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Mon Aug 26 21:03:12 2013
< Server: VEGA-HTTP-SERVER
< Cache-Control: public, max-age=3600
< Content-type: text/plain
< Connection: Close
< Content-Encoding: gzip
< Content-Length: 226
< 
{ [data not shown]
100   226  100   226    0     0   1883      0 --:--:-- --:--:-- --:--:--  1965
* Closing connection #0
Gunthers-MacBook-Pro:Documents guenther$ vi crv01.csv

^_<8b>^H^@^@^@^@^@^@^C}<92>Á
<83>0^L<86>ï<82>ï xÙ^N+I;kkO²<95>!l^N6õ-ÆÞÿ¶zФ¬4Ç~$ÿ<9f>?­_~^YÞÃs¬P@YÔ<97>ùµø
ÐMýí4~E<85>áñÚOÞMÃû¥¿Ïþð9<96><85>l^D^X!^A<95>CÛ)Õ¡uR´^RBETB<96>b<96>J¢^X^F^G<87>LWª^?ªwWÀt·^F<99>n<82>&tY/Ó]M­®^X=g]5D^S½:KÛ,5;Õv^]^]®À\Ù^\EÈRÌRÊ*¡<8b><94>U<8a>RV)JY¥(e¥^M<84><8a>öEÊ*E^Mmd TÜk<89>¶^AÆ÷eÿy<9b>ü^C»üß{E^C^@^@

网页的源代码(谷歌浏览器)是一个普通的 cdv 文件。CSV 文件由 http://www.vega.com/en/Signal-conditioning-instrument-VEGAMET391.htm创建

--text-ascii 选项也没有帮助!

4

3 回答 3

3

即使 curl 没有要求,该页面似乎已被发送回压缩(请参阅标题“Content-Encoding: gzip”)。如果你要求它,curl会在收到它时自动为你解压。尝试:

curl --compressed -O http://10.0.0.139/crv01.csv
于 2013-08-26T21:47:12.830 回答
0

CSV 是如何创建的?通过 Excel 还是始终是本机文本?我怀疑 Safari 在渲染时忽略了无关的二进制数据。

您可以在 Safari 中查看源代码并确保它是普通的。

也尝试curl --trace-ascii请求 ASCII 上下文。

编辑: 从您的详细输出来看,该文件似乎已压缩。尝试将其另存为.gz文件,然后gunzip crv01.gz

curl http://10.0.0.139/crv01.csv -o crv01.gz
gunzip crv01.gz

如果有更多crv文件,您还可以一次下载一系列文件:

curl "http://10.0.0.139/crv[01-50].csv" -o crv#1.gz
于 2013-08-26T06:51:07.697 回答
0

该命令应该可以工作,在本地提供 csv 文件时,它可以在我的系统(10.6)上正常工作。

您可以尝试使用详细的命令来查看是否有任何问题:

curl -v -O http://10.0.0.139/crv01.csv
于 2013-08-26T05:53:38.970 回答