为什么 wget 没有调用我的整个网址?

为什么 wget 没有调用我的整个网址?

我有一个包含以下命令的测试脚本:

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,s‌​ea_level_pressure&units=english&output=csv&obtime=local&STID=KPHX'

附注:尝试您的 URL 时我遇到了“权限被拒绝”。

根据您的身份验证方法,您可能需要通过一些登录:

wget --user=user --http-password=pass 'http://....'

相关内容