100分求助 HttpWebResponse 返回的Headers内location带有中文的编码问题
或 Content-Disposition带有中文的都不能正确识别
和某位朋友的该帖http://topic.csdn.net/t/20050531/21/4049901.html大致一样,但大家都是说发送的url的编码问题,其实不是这样
给出一个地址
http://www.yuleye.com/mirror/attachment.php?aid=1 浏览器打开后能识别出中文名: 中文名附件.jpg
但是在.net里用
myPostRequest = (HttpWebRequest)HttpWebRequest.Create(this._strUrl);//创建myPostRequest
myPostRequest.CookieContainer = new CookieContainer();//cookie容器,
myPostRequest.Referer = this.refUrl;
myPostRequest.Accept = "*/*";
myPostRequest.AllowAutoRedirect = false;
myPostRequest.ContentType = "application/octet-stream";
myPostRequest.Method = "GET";
........
/*
myPostRequest.Headers["Accept-Language"]= "zh-cn";
myPostRequest.Headers["Accept-Encoding"]= "gzip, deflate";
myPostRequest.Headers["Accept-Charset"]= "gb2312";
myPostRequest.Headers["Content-Language"]= "zh-cn";
myPostRequest.Headers["Content-Encoding"]= "gzip";
*/
this.encoding = System.Text.Encoding.GetEncoding("GB2312"); //试过UTF8 Default编码
//myPostRequest.CookieContainer.Add(this.cookiePost); 加过cookie
HttpWebResponse hwr = null;
string sLoca = "";
hwr = (HttpWebResponse)myPostRequest.GetResponse();
sLoca = hwr.Headers["Location"];
for (int ss = 0; ss < hwr.Headers.Count; ss++)
{
System.Console.WriteLine(hwr.Headers.Keys[ss]+" : "+hwr.Headers[hwr.Headers.Keys[ss]]);
}
string attstr = hwr.Headers["Content-Disposition"]; //这里正确的应该是 attachement; filename=中文名附件.jpg
但返回的是 attachement; filename=?D????t.jpg 这样的字符串 同样的问题也会出现在其他Headers里,比如上面提到的帖子里的hwr.Headers["Location"];
请问各位怎么解决,困扰好久了,可能涉及到编码 和urlencode的地方基本上试过了,请哪位给出代码测试成功了 我给全分
相关推荐
HTTP协议与自动化测试实战:从笔试考点到金融场景应用
HTTP协议作为互联网应用通信的基石,定义了客户端与服务器之间请求与响应的标准格式。其核心工作原理基于无状态的请求/响应模型,通过状态码、方法、头部和消息体等组件协同工作。该协议的技术价值在于为Web服务提供了统一、可扩展的交互框架,是构建现代分布式系统的关键。在软件测试领域,特别是自动化测试中,深入理解HTTP协议原理对于精准设计测试用例、高效定位接口问题至关重要。结合金融科技等行业的高频应用场景,例如在线交易、实时行情推送,测试工程师需要掌握如何利用自动化测试框架(如基于Python的pytest)对H
从零构建Python接口自动化测试框架:Pytest+Requests实战指南
接口自动化测试是现代软件工程中保障交付质量与提升迭代效率的核心实践。其基本原理是通过脚本模拟客户端请求,对服务端接口进行功能、性能及稳定性的自动化验证,从而将测试人员从重复的手工操作中解放出来。这项技术的核心价值在于实现测试过程的标准化、资产化与持续反馈,是构建高效CI/CD流水线不可或缺的一环。在众多技术栈中,Python凭借其简洁语法与丰富生态,成为实现接口自动化的热门选择。本文将以Python生态下的Pytest测试框架与Requests库为核心,深入讲解如何搭建一个结构清晰、易于维护的接口自动化测试
从零搭建Python接口自动化测试框架:Pytest+Requests+Allure实战指南
接口自动化测试是现代软件质量保障体系的核心环节,它通过模拟客户端请求与验证服务端响应,实现对API功能的自动化验证。其核心原理在于将测试用例脚本化、执行自动化,并集成断言机制进行结果校验。这项技术的核心价值在于显著提升回归测试效率与可靠性,将测试人员从重复劳动中解放,聚焦于复杂业务逻辑与探索性测试。在持续集成与DevOps实践中,健壮的自动化测试框架是保障快速、高质量交付的关键基础设施。典型的应用场景包括微服务API验证、前后端分离架构下的接口契约测试,以及复杂业务流的端到端验证。本文将以Python技术栈
mongodb-linux-x86_64-ubuntu2004-8.0.13.tgz
mongodb-linux-x86_64-ubuntu2004-8.0.13
chromedriver-linux64-159.0.8135.0(Canary).zip
chromedriver-linux64-159.0.8135.0(Canary).zip


