V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
odirus
V2EX  ›  问与答

HTTP 传输编码问题

  •  
  •   odirus · 2014-11-06 09:47:38 +08:00 · 2583 次点击
    这是一个创建于 3464 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在业务里面部分接口是既提供给客户端也提供给网页使用的,在该入口处打印参数内容,使用Fiddler检测客户端HTTP请求和网页的HTTP请求,header中的Content-Type一致,都是"application/x-www-form-urlencoded; charset=UTF-8"。

    当使用客户端的时候Content-Length(94)要小于使用网页时的Content-Length(102)。。。请问为什么呢?header中的各种参数都调成一致的,但是在传输的时候表单数据就不一样了,前者各项参数没有经过任何处理,但后者的参数都被urlencode了。

    求教
    4 条回复    2014-11-06 10:48:45 +08:00
    pi1ot
        1
    pi1ot  
       2014-11-06 09:51:09 +08:00
    和浏览器的具体实现有关,urlencode的处理字符范围不同
    odirus
        2
    odirus  
    OP
       2014-11-06 09:55:11 +08:00
    @pi1ot 现在我都不知道怎么处理比较好,同时需要兼容两种途径的数据传输。
    pi1ot
        3
    pi1ot  
       2014-11-06 10:39:05 +08:00
    @odirus 怎么会,遇到%XX就解码就可以了
    chemzqm
        4
    chemzqm  
       2014-11-06 10:48:45 +08:00
    客户端没有encode说明客户端实现有bug,另外你的 Content-Type 既然指定了 application/x-www-form-urlencoded就表明发送主题应当是编码后的ascii字符,加上charset没有任何意义。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2270 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 10:15 · PVG 18:15 · LAX 03:15 · JFK 06:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.