C# winform下载图片
我最近很喜欢17173的壁纸,想写一个winform把一期的壁纸批量下载到硬盘上。现在已经可以获得每一张壁纸的url,唯一的问题是,下载下来的图片大小全都为0。用其他网站...
我最近很喜欢17173的壁纸,想写一个winform把一期的壁纸批量下载到硬盘上。
现在已经可以获得每一张壁纸的url,唯一的问题是,下载下来的图片大小全都为0。
用其他网站的图片测试时,下载没问题的。
请问,哪位大神能告知一下,为什么会出现这个问题?要怎么做才能避免这个问题呢?
另外 附一张17173的壁纸图片的URL:
http://images.17173.com/2013/news/2013/07/08/lj0708bz04.jpg 展开
现在已经可以获得每一张壁纸的url,唯一的问题是,下载下来的图片大小全都为0。
用其他网站的图片测试时,下载没问题的。
请问,哪位大神能告知一下,为什么会出现这个问题?要怎么做才能避免这个问题呢?
另外 附一张17173的壁纸图片的URL:
http://images.17173.com/2013/news/2013/07/08/lj0708bz04.jpg 展开
4个回答
展开全部
以下代码可行:
(经测试,请求必须带UserAgent, 17173网站才会给响应,估计他们针对不同UserAgent做了不同处理)
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://images.17173.com/2013/news/2013/07/08/lj0708bz04.jpg");
req.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36";
req.Host = "images.17173.com";
req.Headers.Add("Accept-Encoding", "gzip");
WebResponse res = req.GetResponse();
Stream resStream = res.GetResponseStream();
int count = (int)res.ContentLength;
int offset = 0;
byte[] buf = new byte[count];
while (count > 0)
{
int n = resStream.Read(buf, offset, count);
if (n == 0) break;
count -= n;
offset += n;
}
FileStream fs = new FileStream("d:\\17173.jpg", FileMode.Create, FileAccess.Write);
fs.Write(buf, 0, buf.Length);
fs.Flush();
fs.Close();
展开全部
string url="";
FileUpload1.ContentType = "application/x-zip-compressed";
FileUpload1.TransmitFile(url);
FileUpload1.ContentType = "application/x-zip-compressed";
FileUpload1.TransmitFile(url);
追问
不知道您说的是什么。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调试
打个断点看看
打个断点看看
追问
您好,我的代码这里贴不开,给您发私信了,麻烦您看下吧?我是有点黔驴技穷了。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询