http://www.dingkoo.com/game_source.php?action=download&GID=111731&ID=73639&MPID=185这个地址对应的是一个游戏的包下载地址,现在的问题是我想知道我该如何才能获取到这个url对应的包的名字(如:a.jar)我怎么才能获取到这个值????
谢谢各位大侠!!!!!

解决方案 »

  1.   

    URL代表一个页面,在页面上应该还有下载的链接,那才能得到文件名
      

  2.   

    楼上的可能没有完全理解我的意思,我是想获取一个url后面对应的真实资源的本地名字,例如:http://www.dingkoo.com/game_source.php?action=download&GID=111731&ID=73639&MPID=185 这个地址可能对应的是一个游戏(a.jar)的资源,我就是想获取这个a.jar 请指教!
      

  3.   

    打开这个地址
    Forbidden
    You don't have permission to access /upload/game_source5/138_111731/huanjianqixia_018.jar on this server.看来是禁止直接访问了正常情况下,你可以通过webrequest去请求这个页面,然后分析返回的结果就可以了
      

  4.   

    seesea125这位朋友的做法也是我现在用的策略 但是我觉得太慢 因为这个相当于要先去下载一次这个资源 但是呢却只是为了获取他的名字而已 不知道有没有更好的办法!????请各位达人指点!!!!
      

  5.   


    我觉得看情况分析,像你说的这种http://www.dingkoo.com/game_source.php?action=download&GID=111731&ID=73639&MPID=185,这种地址,你webrequest的结果应该是
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>403 Forbidden</title>
    </head><body>
    <h1>Forbidden</h1>
    <p>You don't have permission to access /upload/game_source5/138_111731/huanjianqixia_018.jar
    on this server.</p>
    <hr>
    <address>Apache/2.2.12 (Ubuntu) PHP/5.2.10-2ubuntu6.3 with Suhosin-Patch Server at www.dingkoo.com Port 80</address>
    </body></html>
    这个时候你可以找到/upload/game_source5/138_111731/huanjianqixia_018.jar这个没问题吧,而且因为他直接提示出错了,速度也应该是很快的像一般的下载,程序写的时候,一般都会加上
    Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));
    Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());
    这样的东西,你就可以直接通过webrequest获取他的Headers的信息,找到这个filename了,这样速度就快多了