Chinaunix首页 | 论坛 | 博客
  • 博客访问: 399104
  • 博文数量: 101
  • 博客积分: 2207
  • 博客等级: 大尉
  • 技术积分: 2508
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-19 20:45
文章分类

全部博文(101)

文章存档

2013年(15)

2012年(86)

我的朋友

分类: C/C++

2013-01-23 22:06:16

  给同事搭建了一个nginx web服务器,将一些资源文件放在上面,供其下载,同时使用curl的api下载文件,告诉我xml,txt都没有问题唯独mp3不能下载。

 我想不会吧,于是在linux使用curl命令试了下,curl -O IP:8080/1.mp3.确实没有动静,于是开始google,找不到答案。我又使用wget IP:8080/1.mp3下载成功了。curl号称网络调试神器,居然比wget弱,这不太可能吧。到底是什么原因导致的呢,找不到答案,我开始使用tcpdump抓包。抓出来的包显示curl发的http协议是1.1,wget发送的1.0,wget多发送了connection:Keep-Alive


于是我使用curl --http1.0 --user-agent完全模仿wget的包发现还是不成功

又重新抓了下包tcpdump host IP 发现原来web server返回了数据,奇怪的是curl没有接受

郁闷的狠,最后使用curl -i IP:8080/1.mp3

有一条location记录,使用curl -O IP:8080/1.mp3 --location可以下载了,对应的curl API为

curl_easy_setopt(handle, CURLOPT_FOLLOWLOCATION, 1);


阅读(4965) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~