Response.Redirect问题

nkdzc 2003-10-14 09:48:52
执行
Response.Redirect("ftp://nkdzc:nkdzc@202.113.15.45/test/test.zip");
正常,能够转到文件下载
但是
Response.Redirect("ftp://nkdzc:nkdzc@202.113.15.45/中文/中文.zip");
因为存在中文字符,所以出现DNS错误,加上Server.Encode()也不行,好像是因为同时将://等字符也编码的原因,请问各位有没有什么办法
(不能直接通过显示链接的方式,采用Response.Redirect的目的是避免客户端发现ftp的登录密码
...全文
59 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nkdzc 2003-10-16
  • 打赏
  • 举报
回复
行了.问题没解决,草草揭帖了
nkdzc 2003-10-14
  • 打赏
  • 举报
回复
To:hillseok
是这样的,整个路径都是存储在数据库中的,自己并不知道在哪里是中文;另外,前面的字符串是什么意思?用户输入的路径是多样的,可以是http:// 形式,也可以是ftp://,还可以是https://
等,也可以是一个相对路径,因为无法手动添加前面部分

不知道大家在处理类似ftp数据访问的时候是怎么做的?我的基本目的就是在访问ftp时不让用户知道密码,如果采用Response.Redirect
阿森纳2013 2003-10-14
  • 打赏
  • 举报
回复
学习,听高手解答!
hillseok 2003-10-14
  • 打赏
  • 举报
回复
保留这些字符也是有办法的,只对"中文"编码就行了,前面的用字符串加上,但也不行的,问题是这个问题似乎涉及到不支持中文域名,实在头疼
hillseok 2003-10-14
  • 打赏
  • 举报
回复
此题好难,关注ing
nkdzc 2003-10-14
  • 打赏
  • 举报
回复
有没有什么办法使编码后保留这些字符
nkdzc 2003-10-14
  • 打赏
  • 举报
回复
效果和上面的几种方式相同,也不行,原因是这些编码方式把:,/等字符都编码了,无法再识别http:// ftp:// 等标识了
qiuji 2003-10-14
  • 打赏
  • 举报
回复
这样试试:
string str=System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes("ftp://nkdzc:nkdzc@202.113.15.45/中文/中文.zip"));
Response.Redirect(str);
nkdzc 2003-10-14
  • 打赏
  • 举报
回复
to acewang:
我不是说过Server.UrlEncodey已经试过了吗?不行呀
如ftp://douzc:douzc@202.113.229.160/vc/第一章(1).ppt编码后为
ftp%3a%2f%2fdouzc%3adouzc%40202.113.229.160%2fvc%2f%b5%da%d2%bb%d5%c2(1).ppt
还是不行的
acewang 2003-10-14
  • 打赏
  • 举报
回复
Server.UrlEncode("UrlStr")
nkdzc 2003-10-14
  • 打赏
  • 举报
回复
这个办法早就试过了,没用
qiuji 2003-10-14
  • 打赏
  • 举报
回复
在web.config文件中设置(将utf-8改成gb2312):
<!-- 全球化
此节设置应用程序的全球化设置。

-->
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧