日期:2014-05-18  浏览次数:20816 次

httpResponse.ResponseUri获取值中存在中文 获取后显示乱码 求指点 在线等!!!
我定义了个获取代码如下:
C# code
////获取附件链接下载开始
                                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();
               

                                ///获取附件链接下载结束

mylink为原始的地址 形式为 http://www.*******.com:8080/myjsp/myprog/download.jsp?p=1230602
我通过以上代码 获取mydownurl得到真实地址,但是当真实地址中存在中文的时候 获取的地址显示为乱码 是这样的地址 http://www.*******.com:8080/myjsp/myfile/201205/2012052219344490750/2012Äê14-20ÈÕ½ðÈÚ°²È«ÔËÐп¼ºËÇé¿öͨ±¨.doc
而真正的地址为 http://www.*****.com:8080/myjsp/myfile/201205/2012052219344490750/2012年14-20日高法教科书.doc
求高手指点!!!!!!!!

------解决方案--------------------
设置编码
StreamReader sr = new StreamReader(resp.GetResponseStream(),Encoding.GetEncoding( "GB2312 "));
string source = sr.ReadToEnd();
------解决方案--------------------
楼主试着设置一下 HttpWebRequest.TransferEncoding
------解决方案--------------------
对中文进行Encoding