libcurl 获取服务器文件大小

hzy694358 2016-08-15 03:11:13
curl_easy_setopt(curl, CURLOPT_URL, "http://forms.neustar.biz/registry/reports/bizout");
curl_easy_setopt( curl, CURLOPT_NOBODY, 1);//不包含body
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_data_callback);
curl_easy_setopt(curl, CURLOPT_HEADERDATA, http_response);
获取的头部信息为:
http_response:HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Content-Disposition: attachment; filename="biz_domains_out_rgp.csv"
Content-Type: text/csv
Date: Mon, 15 Aug 2016 02:54:19 GMT
Server: nginx
X-Frame-Options: SAMEORIGIN
X-Server: WS-PR-WEB-Webfarm-23-144
Connection: keep-alive
----------------------------------
并不存在 Content-Length字段
而我想要获取attachment 里的biz_domains_out_rgp.csv文件的大小,改怎么获取?
...全文
748 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
太上绝情 2016-08-18
  • 打赏
  • 举报
回复
有些会改变的资源确实是不提供长度的,防止你断点下载,例如github的代码压缩包。用迅雷下一下看看能不能获取到大小吧。
encoderlee 2016-08-17
  • 打赏
  • 举报
回复
服务器没有提供Content-Length,只能等读完了才知道大小
赵4老师 2016-08-17
  • 打赏
  • 举报
回复
假定一个最大大小比如200MB?
hzy694358 2016-08-17
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
服务器不一定支持。我猜。
应该是服务器没返回content-length 这个字段 但是不知还有什么其他方法能事先知道attachment的大小?
genrwoody 2016-08-17
  • 打赏
  • 举报
回复
你用浏览器下载..如果浏览器都不能事先获取到大小..那就别浪费时间了...
pengzhixi 2016-08-16
  • 打赏
  • 举报
回复
curl_easy_getinfo你 查下这个函数吧,里面应该有可以获取content-length首部的值的
hzy694358 2016-08-16
  • 打赏
  • 举报
回复
好久没来了,这论坛 人气变得这么差,这么久了一条回复都没有
赵4老师 2016-08-16
  • 打赏
  • 举报
回复
服务器不一定支持。我猜。
hzy694358 2016-08-16
  • 打赏
  • 举报
回复
引用 2 楼 pengzhixi 的回复:
curl_easy_getinfo你 查下这个函数吧,里面应该有可以获取content-length首部的值的
返回的头部信息没content-length 这个字段, 无从获取

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧