如何实现邮件附件的下载 VC?

leftbackfielder 2011-10-18 09:33:20
用以下方法实现下载功能:已知一个URL, 通过发送http get请求,实现下载.现在遇到一个问题,比如百度上搜索到的MP3之类的,都可以下载.但是,邮件附件下载不了.发现每次获取到的邮件附件的URL都是变的,如何实现邮件附件的下载,请各位指点小弟一二.
...全文
192 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyx100 2011-10-20
  • 打赏
  • 举报
回复
变一次你请求一次。用wininet库里面的http系列函数,分析html页面 比如 附件: 你找到页面中 附件:这几个字 后面对应当URL
ndy_w 2011-10-20
  • 打赏
  • 举报
回复
在附件连接上右键,属性。然后在html里搜索文本
leftbackfielder 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ndy_w 的回复:]

在附件连接上右键,属性。然后在html里搜索文本
[/Quote]
是在html里面搜索属性里面显示的文本吗?我搜了一下,没有搜到....
pandahat 2011-10-19
  • 打赏
  • 举报
回复
变一次你请求一次。用wininet库里面的http系列函数,分析html页面 比如 附件: 你找到页面中 附件:这几个字 后面对应当URL 就下载这个行了。
做程序要变通。。
leftbackfielder 2011-10-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 pandahat 的回复:]

变一次你请求一次。用wininet库里面的http系列函数,分析html页面 比如 附件: 你找到页面中 附件:这几个字 后面对应当URL 就下载这个行了。
做程序要变通。。
[/Quote]
把网页读过来之后,里面也没有什么标识附件URL地方啊.
只发现了:case "FA_INVALID_PART":
sContent = '附件不存在';
break;
这句话.
jsyren 2011-10-18
  • 打赏
  • 举报
回复
你的下载程序本就只针对http下载,而邮件系统有自己的另外一套协议,你肯定不能像下载百度歌曲那样下载邮件了,建议好好研究一下邮件的协议。。。。


然后按照协议要求,向那些固定的大的邮件服务器发起连接,然后按照协议进行数据传输。这个应该是Socket编程了。。。。如果写成,可以取代outlook了。。。。呵呵呵呵
leftbackfielder 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ndy_w 的回复:]

网页中的邮件附件是个超链接,鼠标点它一下相当于对它的URL发起HTTP请求。
URL可能会变化,但在页面结构中这些超链接的位置在一段时间内固定(除非改版)。因此你可以获得这些URL,但改版就失效。
其实你可以用SMTP实现,一般邮件服务都有SMTP。
[/Quote]
那是不是每一种邮箱的附件,在页面中对应的URL,都在不一样的位置?下载程序要处理所有不同的邮箱吗?
如果是用SMTP服务下载的话,迅雷这类软件事先要知道现在正要下载附件吗?
ndy_w 2011-10-18
  • 打赏
  • 举报
回复
网页中的邮件附件是个超链接,鼠标点它一下相当于对它的URL发起HTTP请求。
URL可能会变化,但在页面结构中这些超链接的位置在一段时间内固定(除非改版)。因此你可以获得这些URL,但改版就失效。
其实你可以用SMTP实现,一般邮件服务都有SMTP。
leftbackfielder 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ndy_w 的回复:]

附件的url需要从显示邮件的页面中解析出来。
[/Quote]
您好,如何解析能详细的说一下吗?我刚刚接触不久.很多东西都不了解
leftbackfielder 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dx_deepblue 的回复:]

要用get请求下载文件是要先进行3次握手,必须知道对方的IP,一般IP是DNS服务器根据URL解析出来的吧,你说的下载邮件附件URL变了,但是你仔细看下IP地址变了没有,没有变的话应该还是可以下载的,先进行连接,然后发送get请求下载,能够成功,不知道我说的对不对,呵呵,说错了勿怪~
[/Quote]
试了两个URL,解析之后URL变了,但是在一个网段的:123.125.50...我是用AfxParseURLEx这个函数解析的URL
ndy_w 2011-10-18
  • 打赏
  • 举报
回复
附件的url需要从显示邮件的页面中解析出来。
DX_deepblue 2011-10-18
  • 打赏
  • 举报
回复
要用get请求下载文件是要先进行3次握手,必须知道对方的IP,一般IP是DNS服务器根据URL解析出来的吧,你说的下载邮件附件URL变了,但是你仔细看下IP地址变了没有,没有变的话应该还是可以下载的,先进行连接,然后发送get请求下载,能够成功,不知道我说的对不对,呵呵,说错了勿怪~

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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