当我执行
curl "http://weather.yahooapis.com/forecastrss?w=1225955&u=c"
Run Code Online (Sandbox Code Playgroud)
它返回错误编码的响应:
khan@khan-P55A-UD3P:~$ curl "http://weather.yahooapis.com/forecastrss?w=1225955&u=c"
??????ud@3??v(
????$j$??~????4(???Xy????wH?o?9<q??,?s\??e"?tA?\?h?????
?????h??M???{???J=?m93W
?S?)?e?[sv,??eAKM?z{???g??:???*?????(n?m??&?J???Mg?,yn?F?&??_??
ik6 >??0?e&X???
sQ~?:?Z;*9?.a"?|??EO[?5"??[?k?????1??n?}r1?u?d??C???X??`?NF?g!?c??W??G??1?o????Z??53<z`???.??w? s????+?vh??3yt?b}?9
?6?s3K
?W? ?0??F@???>?X?Qh??v?BQ?R
??<?4;??2?8y? ?g???6M(??]?|'?U@???B
?8du!?&'?NOB?????3?K??fW??
\Rheg?=??F?R;?u?F?s9???&????,??|r??o?E??T??V$&?????uf\??????v??Z~&?Au??{???"m?????U????2?8?#0F@'??????
l???R?XL??~A??????p??9??8?iH??nC?i4??^t;????????d?V?????7??=S&??2?u?#v~?L`?k???v?0
?[???"<???~?z??j,???X=?zmKD/|???(?p??M????}_?!??G?C??2|?G??<?e??nb"x ??e?s??;???r;??]?9"l??;?}?w??jwR[?C????#O?
???????#a????s?km???$a?????\)?$?o????K??FR?*?ý?l?Z
?
&?`_?D?W??>`T??0??| c???K%??n:???~(?????.{??}< /~?^!A??$\???c?<?Á
"??k?_??t????t?n?5?^t??F??l<V?????oo?
`O???3p????S?X?G?x???+?
khan@khan-P55A-UD3P:~$
Run Code Online (Sandbox Code Playgroud)
但是,相同的命令在另一台计算机上工作得很好.有没有什么我需要在shell中设置才能以正确的格式获得这个?
即时通讯使用ubuntu 14.04 64位.(Linux khan-P55A-UD3P 3.13.0-40-generic#69-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux)
有任何想法吗?这里也可以看到命令的截图:http://i.imgur.com/QDy7F7i.png
如果您设置 --compressed 标志,curl 将自动解压缩响应:
curl --compressed "http://example.com"
Run Code Online (Sandbox Code Playgroud)
--compressed (HTTP) 使用 libcurl 支持的算法之一请求压缩响应,并保存未压缩的文档。如果使用了这个选项并且服务器发送了不支持的编码,curl 会报错。
如果您只需要将此选项用于 gzip 内容编码,请使用此命令
curl -sH 'Accept-encoding: gzip' http://example.com/ | gunzip -
Run Code Online (Sandbox Code Playgroud)
我认为与终端的默认编码有关(默认为 UTF-8)。您可以尝试将流传递到文件,例如:
curl "http://weather.yahooapis.com/forecastrss?w=1225955&u=c" > response
Run Code Online (Sandbox Code Playgroud)
当我传递字节(数据处理程序内的 Pdf 内容格式)时,我对其余 Web 服务也遇到了同样的问题。在不传递流的情况下,我在终端中接收以 UTF-8 编码的数据,并且当我使用soapUi 时也是如此。
| 归档时间: |
|
| 查看次数: |
5395 次 |
| 最近记录: |