public bool DownloadFile(string url, string thumb_media_id, string saveDir, out string saveFileName, out string errHtml) { if (url.IndexOf("showqrcode") != -1) { return(DownloadQrCode(url, saveDir, out saveFileName, out errHtml)); } saveFileName = string.Empty; errHtml = string.Empty; bool isSuc = false; HttpWebResponse response = null; HttpWebRequest request = null; try { request = GetWebRequest(url, "GET"); // if (url.IndexOf("showqrcode") != -1) //{ // request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0"; //} response = (HttpWebResponse)request.GetResponse(); if (!response.ContentType.ToLower().StartsWith("text/")) { string disp = response.Headers.Get("Content-type"); string ext = "." + disp.Substring(disp.LastIndexOf("/") + 1); saveFileName = saveDir; if (!saveFileName.EndsWith("\\")) { saveFileName += "\\"; } saveFileName = thumb_media_id + ext; string saveName = saveDir + saveFileName; SaveBinaryFile(response, saveName); isSuc = true; } else { if (WebUtils.IsNullOrWhiteSpace(response.CharacterSet)) { errHtml = GetResponseAsString(response, Encoding.UTF8); } else { Encoding encoding = Encoding.GetEncoding(response.CharacterSet); errHtml = GetResponseAsString(response, encoding); } isSuc = false; } } finally { if (response != null) { response.Close(); } if (request != null) { request = null; } } return(isSuc); }