我有一个包含以下命令的测试脚本:
wget http://api.mesowest.net/v2/stations/timeseries?token=000&start=200505010000&end=200510310000&vars=air_temp_high_24_hour,air_temp_low_24_hour,relative_humidity,sea_level_pressure&units=english&output=csv&obtime=local&STID=KPHX
但 wget 的输出是
gdev@gdev-samsung:~/$ ./test
gdev@gdev-samsung:~/$ --2015-06-14 16:56:52-- http://api.mesowest.net/v2/stations/timeseries?token=f11c52999e0144dcb4461f4fb3ef2b53
Resolving api.mesowest.net (api.mesowest.net)... 63.251.153.118
Connecting to api.mesowest.net (api.mesowest.net)|63.251.153.118|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9560276 (9.1M) [application/json]
Saving to: ‘timeseries?token=f11c52999e0144dcb4461f4fb3ef2b53’
100%[========================================================================>] 9,560,276 1.52MB/s in 5.9s
2015-06-14 16:57:01 (1.54 MB/s) - ‘timeseries?token=f11c52999e0144dcb4461f4fb3ef2b53’ saved [9560276/9560276]
网站链接是否意外使用了 wget 截断的某种特殊字符?感谢您的帮助
答案1
您的 URL 中有特殊字符,例如?
。
最好的办法是用单引号将完整的 URL 括起来,这样 Shell 就不会处理这些特殊字符:
wget 'http://api.mesowest.net/v2/stations/timeseries?token=000&start=200505010000&end=200510310000&vars=air_temp_high_24_hour,air_temp_low_24_hour,relative_humidity,sea_level_pressure&units=english&output=csv&obtime=local&STID=KPHX'
附注:尝试您的 URL 时我遇到了“权限被拒绝”。
根据您的身份验证方法,您可能需要通过一些登录:
wget --user=user --http-password=pass 'http://....'