none
c# winform 模拟登陆后下载加密链接获得真实地址后 地址内出现中文显示乱码 无法下载 求指点 RRS feed

  • 问题

  • 我通过以下代码

    ////获取附件链接下载开始
                                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(MyLink);
                                    request.Method = "GET";
                                    request.Headers.Clear();
                                    request.Headers[HttpRequestHeader.Cookie] = webBrowser1.Document.Cookie;
                                    request.ContentType = "application/x-www-form-urlencoded";
                                    request.KeepAlive = true;
                                    request.AllowAutoRedirect = true;
                                  
                                   
                                    HttpWebResponse httpResponse = (HttpWebResponse)request.GetResponse();
                             
                                    string mydownurl = httpResponse.ResponseUri.ToString();
                                    httpResponse.Close();
                   
                                    ///获取附件链接下载结束

    在有中文地址的时候 抛出异常 然后获得地址,但是地址中的中文被重新编码了,使用ie直接点击链接 可以下载到文件,但是一旦使用用编码后的地址在ie中打开的话则提示404,包括在winform中 下载的时候也是出异常 提示404,例如正确的地址应该是http://www.*****.com:8080/myjsp/myfile/201205/2012052219344490750/2012年14-20日金融安全运行考核情况通报.doc 但是获得的地址则为http://www.*******.com:8080/myjsp/myfile/201205/2012052219344490750/2012%C3%84%C3%AA14-20%C3%88%C3%95%C2%BD%C3%B0%C3%88%C3%9A%C2%B0%C2%B2%C3%88%C2%AB%C3%94%C3%8B%C3%90%C3%90%C2%BF%C2%BC%C2%BA%C3%8B%C3%87%C3%A9%C2%BF%C3%B6%C3%8D%C2%A8%C2%B1%C2%A8.doc 我尝试使用 HttpUtility.UrlDecode(mystring, System.Text.Encoding.GetEncoding("gb2312"));解码 也得不到正确的地址,

    LocalPath = "/myjsp/myfile/201205/2012052219344490750/2012?ê14-20è??eèú°2è???DD??o??é??í¨±¨.doc"
    OriginalString = "http://www.******com:8080/myjsp/myfile/201205/2012052219344490750/2012?ê14-20è??eèú°2è???DD??o??é??í¨±¨.doc"
    我在测试断点的时候 发现response的address项中 以上两项显示如上内容,
    在httpwatch抓包的收 发现流信息中的内容如下

    我在测试断点的时候 发现response的address项中 以上两项显示如上内容,
    在httpwatch抓包的收 发现流信息中的内容如下
    但是将get到的文件名拷贝粘贴到文本中时 则显示为正常的如下 GET /myjsp/myfile/201205/2012052219344490750/2012年14-20日金融安全运行考核情况通报.doc 
    2012年5月24日 8:03

全部回复