[程式]想要写一个下载网络图片的程式

楼主: huevo235 (Huevo)   2015-02-15 23:57:15
  我打算用 C#.net 开发一个能够从网络下载图片的程式
  从网络下载图片的方法一般都是用 WebClient 之类的原件,直接访问网址然后把读
取到的串流下载,便可以得到该图片。
  但是这却有一个严重的问题,某些网络上的图片是有加密的(像是伊莉),使用者没
有登入帐号,并且阅读过该篇文章,就没办法查看该文章底下的任何图片,当然也没办法
下载。(禁止访问403)
  要访问有个很简单的解决方法,就是登入帐号在访问图片,所以我用webbrowser原件
来让使用者登入,但是webbrowser却不具备下载串流的功能。
  虽然我有在google找到一个可以让webbrowser下载图片的方法,把图片copy到剪贴簿
然后直接储存,但是连续下载就一定会使程式当掉
(不是程式码问题,明显是web原件的bug)
  注:虽然有些访问网络的原件具备下载串流的功能,且也能够登入论坛,但是我不可
能要求使用者要使用程式前先在程式上头输入帐号密码,顶多要求使用者在webbrowser上
头浏览论坛然后登入。
目前我认为有可能的方向有下面几种,但是都失败(也许是我方法不对)
让 webbrowser 的 cookie 传到其他有办法下载串流的物件上
让 webbrowser 使用 ShowSaveAsDialog(右键储存图片)时,不显示询问视窗
覆写原件让 webbrowser 具备下载串流的功能。
  google找了几个月了,都一直没办法解决,问了很多大学的老师也都没得到什么有用
的相关资讯。就算不是C#也没关系,还恳求帮忙提供任何可能解决问题的方法或方向
  这算是我大学的专题,其他功能几乎都完成了,唯独某些论坛加密过的图片无法正常
下载,不知道有没有什么方法可以解决?
作者: a926 (Aaron)   2015-02-16 13:23:00
我记得WebClient可以写认证.不过你要先去看他认证的流程
作者: StupidGaGa (笨嘎嘎)   2015-02-16 16:06:00
请用HttpWebRequest,剩下请自己去挖。
作者: bbcust (bbcust)   2015-02-16 16:38:00
HttpWebRequest
作者: uranusjr (←這人是超級笨蛋)   2015-02-17 03:00:00
.NET 没研究, 但其他平台确实可以用转移 cookie 的方式或许可用 http://stackoverflow.com/questions/3382498/
作者: StupidGaGa (笨嘎嘎)   2015-02-17 09:08:00
不可以用HttpWebRequest登入,但可以用WebBrowser?是不可以用HttpWebRequest登入,还是你不会用?不能用HWR登,但可让user用WB登,是我的逻辑有问题吗WB的cookie的确是可以复制,不用像上面那样复杂但上面的网址该提供的关键都有提供到
作者: bbcust (bbcust)   2015-02-17 12:12:00
程式不好就把程式学好 别说都是别的东西的问题从你的说法可能连HttpWebRequest怎么用都不太清楚上面两位推文说得很清楚了

Links booklink

Contact Us: admin [ a t ] ucptt.com