怎么从下载链接中提取文件名字

miliggate 2013-02-28 09:02:00
我有很多种类的下载链接
想从其中提取文件名可以做到吗
比如这个链接,链接上并没有显示文件名字的信息
但是把他复制到迅雷并且下载的时候就能看到文件名字了
http://dl5.csdn.net/fd.php?i=310837992659936&s=1b7b90daabd6954923f18fec56b95ce6
...全文
545 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
miliggate 2013-03-02
  • 打赏
  • 举报
回复
引用 3 楼 sniffer12345 的回复:
引用 楼主 SisMVG 的回复:我有很多种类的下载链接 想从其中提取文件名可以做到吗 比如这个链接,链接上并没有显示文件名字的信息 但是把他复制到迅雷并且下载的时候就能看到文件名字了 http://dl5.csdn.net/fd.php?i=310837992659936&s=1b7b90daabd6954923f18fec56b95ce6 ……
是迅雷的服务器有这个链接以后才能返回的吗...
miliggate 2013-03-02
  • 打赏
  • 举报
回复
引用 5 楼 sniffer12345 的回复:
引用 4 楼 SisMVG 的回复:引用 3 楼 sniffer12345 的回复:引用 楼主 SisMVG 的回复:我有很多种类的下载链接 想从其中提取文件名可以做到吗 比如这个链接,链接上并没有显示文件名字的信息 但是把他复制到迅雷并且下载的时候就能看到文件名字了 http://dl5.csdn.net/fd.php?i=310837992659936&……
。。懂了, 我还是用wget去吧//
langren1353464539 2013-03-02
  • 打赏
  • 举报
回复
原来是这样的啊。。。懂了
sniffer12345 2013-03-02
  • 打赏
  • 举报
回复
引用 4 楼 SisMVG 的回复:
引用 3 楼 sniffer12345 的回复:引用 楼主 SisMVG 的回复:我有很多种类的下载链接 想从其中提取文件名可以做到吗 比如这个链接,链接上并没有显示文件名字的信息 但是把他复制到迅雷并且下载的时候就能看到文件名字了 http://dl5.csdn.net/fd.php?i=310837992659936&s=1b7b90d……
不是。。。 首先下载一个chrome,然后打开develop tools,选择network,然后浏览器上选择一个下载地址,回车,然后观察request和response。eg. 请求: Request URL:http://dldx.csdn.net/fd.php?i=420550861786799&s=1815b16f093cd0895f55fa48a9144423 Request Method:GET Status Code:200 OK Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Cookie: Host:dldx.csdn.net Referer:http://download.csdn.net/download/yangzijian/5086178 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.99 Safari/537.22 Query String Parametersview sourceview URL encoded 返回: Response Headersview source Accept-Ranges:bytes Cache-Control:must-revalidate, post-check=0, pre-check=0 Connection:keep-alive Content-Disposition:attachment; filename="%E3%80%8Ac%2B%2B%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%EF%BC%88%E7%AC%AC2%E7%89%88%EF%BC%89%E3%80%8B%E9%83%91%E8%8E%89%E6%B8%85%E5%8D%8E%E5%A4%A7%E5%AD%A6%E5%87%BA%E7%89%88%E7%A4%BE.pdf" Content-Length:16983587 Content-Type:"application/octet-stream; charset=utf-8" Date:Sat, 02 Mar 2013 05:41:43 GMT Expires:0 Last-Modified:Mon, 25 Feb 2013 05:18:02 GMT Server:nginx/0.7.65
sniffer12345 2013-03-01
  • 打赏
  • 举报
回复
引用 楼主 SisMVG 的回复:
我有很多种类的下载链接 想从其中提取文件名可以做到吗 比如这个链接,链接上并没有显示文件名字的信息 但是把他复制到迅雷并且下载的时候就能看到文件名字了 http://dl5.csdn.net/fd.php?i=310837992659936&s=1b7b90daabd6954923f18fec56b95ce6 ……
那是因为迅雷悄悄地帮你做了一次request,然后服务器返回告诉你下载的文件名。。更甚者迅雷上hash了这个URL,其他用户通过这个url下载到什么,对于你来说也一样
赵4老师 2013-03-01
  • 打赏
  • 举报
回复
用java script可能更方便。
miliggate 2013-03-01
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
用java script可能更方便。
不过C++要和java一起用的话很麻烦啊

64,650

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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