某图片浏览器访问很快,但Wget或Curl访问就很慢呢? 还请各位大侠指点迷津~


这个图片是微信头像。

url:
http://wx.qlogo.cn/mmopen/vi_32/InKXymxdA8hronevAyDadeC7SlZxTxCA1T6pfV...

通过curl模拟浏览器各种http头的参数,发现curl至少需要10秒以上,真是百思不得其解。
已经排除DNS解析和IPV6造成的延迟,还请各位大侠指点迷津

curl wget

诅咒蓬莱人形 10 years, 5 months ago

感谢各位的帮助,刚刚通过对curl加上 --compressed 参数,下载速度有极大地提升,不知其原理,不过问题似乎得到了基本的解决。

7758542 answered 10 years, 5 months ago

因为你给出的URL是一个具体的地址,而非IP,wget每次需要根据URL做一个DNS解析,获取到对应的IP,然后对IP进行访问。感觉Chrome或其他浏览器这个dns应该有缓存,看了下,貌似chrome由域名到IP的这个转换很快,可能中间有缓存域名进行加速。
你可以试试用wget http://182.254.18.178/mmopen/vi_32/InKXymxdA8hronevAyDadeC7SlZxTxCA1T6...
速度就很快了
其中182.254.18.178就是我这边刚刚识别出的wx.qlogo.cn的IP地址,如果对端有DNS负载均衡的话,可能你那边要换成当时被识别出的IP地址试试。

-danta- answered 10 years, 5 months ago

微信头像用浏览器也很慢,快的原因可能是缓存。

SmAlL answered 10 years, 5 months ago

Your Answer