一般网页的html代码的图片是这样的
<img src="http://www.news.cn/2015/xilan/images/twoCode_xuanwen.jpg" />
这个代码使用下面的方式就能实现,
WebClient webClient = new WebClient(); webClient.DownloadFile(picUrl, path + fileName);
但是如下这种方式:
<a href="http://muramasa.jp.net/?plugin=attach&pcmd=open&file=%E5%AE%AE%E7%94%B0%E5%85%89%E6%AC%A1hr003.jpg&refer=%E7%94%BB%E5%83%8F%E5%80%89%E5%BA%AB%20%E8%89%B6HR" title="2013/10/27 22:15:00 99.8KB">宮田光次hr003.jpg</a>
这种链接的图片就无法下载,于是将全部的amp;去掉,得到如下
http://muramasa.jp.net/?plugin=attach&pcmd=open&file=%E5%AE%AE%E7%94%B0%E5%85%89%E6%AC%A1hr003.jpg&refer=%E7%94%BB%E5%83%8F%E5%80%89%E5%BA%AB%20%E8%89%B6HR
这个链接在浏览器中,是可以打开的,有一张图片,这个图片的src就是上一行的链接。应该是动态的数据流生成的。但是这个连接无法使用最上面的方式下载,
使用下面的代码也只是返回了一个乱七八糟的html文档
WebRequest quest = WebRequest.Create(url); WebResponse response = quest.GetResponse(); Stream datastream = response.GetResponseStream(); StreamReader reader = new StreamReader(datastream, Encoding.UTF8); string htmlStr = reader.ReadToEnd();
有没有高手知道怎么搞?求赐教
解决方案
40
可以下载的没有问题,本人已经试过了。
<a id="a_id" runat="server" href="http://muramasa.jp.net/?plugin=attach&pcmd=open&file=%E5%AE%AE%E7%94%B0%E5%85%89%E6%AC%A1hr003.jpg&refer=%E7%94%BB%E5%83%8F%E5%80%89%E5%BA%AB%20%E8%89%B6HR" title="2013/10/27 22:15:00 99.8KB">宮田光次hr003.jpg</a> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
protected void Button1_Click(object sender, EventArgs e) { string str = a_id.HRef; WebClient webClient = new WebClient(); webClient.DownloadFile(str, "D:\宮田光次hr003.jpg"); }