日期:2014-05-17  浏览次数:20669 次

如果用HttpRequest或者其他方法下载URL以点号结尾的图片?
有如下地址图片:“http://img.taobaocdn.com/bao/uploaded/i3/T1oAygXmpbXXcrs7k.”(注意结尾处是一个“点”号)

使用HttpRequest下载不下来,返回404错误,因为请求的时候内部直接把“点”号去掉了

请教各位高手,如何下载这种图片呢?谢谢大家了

我用迅雷之类的软件,都能下载下来

------解决方案--------------------
C# code

                string url = "http://img.taobaocdn.com/bao/uploaded/i3/T1oAygXmpbXXcrs7k.";
                Uri uri = new Uri(url);
                string AbsoluteUri = uri.AbsoluteUri + ".";
                object m_Info = typeof(Uri).GetField("m_Info", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(uri);
                object MoreInfo = typeof(Uri).Assembly.GetType("System.Uri+UriInfo").GetField("MoreInfo", BindingFlags.Instance | BindingFlags.Public).GetValue(m_Info);
                typeof(Uri).Assembly.GetType("System.Uri+MoreInfo").GetField("AbsoluteUri", BindingFlags.Instance | BindingFlags.Public).SetValue(MoreInfo, AbsoluteUri);
                ulong m_Flags = (ulong)typeof(Uri).GetField("m_Flags", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(uri);
                typeof(Uri).GetField("m_Flags", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(uri, m_Flags & (ulong.MaxValue ^ 0x2000L));