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

求救万能的 V 友, chrome 访问本地 127.0.0.1 的 django 服务丢包

  •  1
     
  •   AgentK · 2018-12-17 20:59:10 +08:00 · 1583 次点击
    这是一个创建于 2194 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个问题太怪异了 我想了两天没想通 本地启动的一个 django rest framework 的 API 服务, 链接如 http://127.0.0.1:8000/api/xxx 的形式 用 chrome 和 firefox 访问, 手动刷新如上 URL, 大概 20-50 次,就会出现丢包的问题 具体表现是返回的 json 数据在中间丢失了 1461 个字符,导致 json 数据不规范,无法解析,用 ip 127.0.0.1 访问是丢失 1461 个字符, 用内网 ip 192.168.2.100 访问就是丢失 1457 个字符, 192.168.2.100 比 127.0.0.1 多 4 个字符 1461 这个数字看起来和 MTU 有点关系, 但是奇葩的是:

    1. 我用 python requests 包循环请求这个链接 10000 次 都不会丢包
    2. 我电脑连手机共享的 wifi: 丢包
    3. 我电脑连网线: 丢包
    4. 在同一局域网下,我用另一台 mac 笔记本访问这同一个服务: 不丢包
    5. 只有在我这台电脑, 用任何浏览器访问下才会出现丢包
    6. 用 flask 做了同一个 API, 也返回一个数据库 100 行数据, 10000+字符: 不丢包

    真的太诡异了...我到现在没有想通...求助万能的 V 友

    8 条回复    2018-12-21 20:33:13 +08:00
    AgentK
        1
    AgentK  
    OP
       2018-12-17 23:07:14 +08:00
    noqwerty
        2
    noqwerty  
       2018-12-17 23:12:39 +08:00 via Android
    chrome 开了什么插件吗?隐身模式试试
    AgentK
        3
    AgentK  
    OP
       2018-12-18 01:10:44 +08:00
    没有 chrome 和 firefox 都是这样
    OscarUsingChen
        4
    OscarUsingChen  
       2018-12-18 01:16:53 +08:00 via iPhone
    curl 呢?排除变量法
    ruandao
        5
    ruandao  
       2018-12-18 08:56:02 +08:00
    抓包
    xiadong1994
        6
    xiadong1994  
       2018-12-18 15:30:15 +08:00 via iPhone
    MTU 导致丢包会触发 TCP 重传的啊,不会在应用层发现少数据吧。还是抓包看下吧
    AgentK
        7
    AgentK  
    OP
       2018-12-20 20:51:50 +08:00
    一开抓包软件 fiddler 就不丢包了 关闭 fiddler 马上开始丢包
    AgentK
        8
    AgentK  
    OP
       2018-12-21 20:33:13 +08:00
    .....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:02 · PVG 09:02 · LAX 17:02 · JFK 20:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.