推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
NLight
V2EX  ›  Python

坑人的移不动

  •  
  •   NLight · Oct 8, 2014 · 5169 views
    This topic created in 4251 days ago, the information mentioned may be changed or developed.
    我们在开发移动端App时,使用RESTful风格来构建服务端API,对于一些请求操作参数不符合要求的场景,我们会返回400 Code,如果是权限不足等操作,则是403. 结果,测试下来发现,其他运营商都OK,唯独移动这家,无论2G还是3G还是4G网络,只要第一次请求API资源是非200(例如400),第二次也是非200,那么这第二次以后所有对相同资源地址的请求访问,都会被强制redirect到139.com域名!

    不知其他V友在开发移动端应用时有没有遇到这种问题.
    26 replies    2014-10-08 21:12:21 +08:00
    icinessz
        1
    icinessz  
       Oct 8, 2014
    移动哪个业务?
    icinessz
        2
    icinessz  
       Oct 8, 2014
    =。。=我理解错了
    NLight
        3
    NLight  
    OP
       Oct 8, 2014
    @icinessz (*^__^*) 嘻嘻……
    wzzyj8
        4
    wzzyj8  
       Oct 8, 2014 via Android
    都有的,联通也会,电信则是很隐蔽的加自己的广告弹窗,没有法律去约束这种劫持行为也就只有任由他们耍流氓。暂时的解决办法只能是自己用SSL保护起来,至少SSL他们暂时不会去动。
    est
        5
    est  
       Oct 8, 2014
    我也一直在想这个问题,话说兲朝要求所有网站必须首页显示ICP备案号,那如果是纯API网站肿么办?
    mengzhuo
        6
    mengzhuo  
       Oct 8, 2014
    @est

    我也好奇
    反正目前中国AWS的是不管的
    istommao
        7
    istommao  
       Oct 8, 2014
    天朝就是流氓辈出啊
    NLight
        8
    NLight  
    OP
       Oct 8, 2014
    @wzzyj8 我们现在还只是踩了移动的坑, 我们一开始使用电信宽带的时候, 什么问题都没有, 然后让客户测试的, 报了这个bug(我们这边一直使用电信宽带, 完全无法重现这个bug), 然后折腾了很久, 才发现, 居然是这个结果, 哭了啊.
    wzzyj8
        9
    wzzyj8  
       Oct 8, 2014 via Android
    @NSDont 电信也是手机才有。。哭啊
    leiz
        10
    leiz  
       Oct 8, 2014
    @est 再纯api你也可以挂一个index.html上面用H1写上备案号,有什么问题?
    qiayue
        11
    qiayue  
    PRO
       Oct 8, 2014
    所以最好的解决办法是,所有的请求都返回 200 ,表明服务器响应了,然后自己在返回的数据里定义错误情况,而不要使用 HTTP 原生的错误码。
    loryyang
        12
    loryyang  
       Oct 8, 2014
    奇闻共赏析。。。运营商劫持的问题也存在好久了,就没个人大代表做个提案吗?
    xylophone21
        13
    xylophone21  
       Oct 8, 2014   ❤️ 1
    @loryyang 程序员的代表是谁?
    loryyang
        14
    loryyang  
       Oct 8, 2014
    @xylophone21 有几个互联网老总是人大代表吧,其他好像还真没了
    jianghu52
        15
    jianghu52  
       Oct 8, 2014
    其实你要是换个角度看问题,可能心情就好很多。
    你看,人家都知道三次返回200就劫持,换句话说,又多了一个表现机会。你们可以自定义200,404,500等错误。甚至可以在错误页面上挂广告,这样的话指不定VP还能多一点呢。这都是移动给指出的明路啊。
    mornlight
        16
    mornlight  
       Oct 8, 2014
    应该是他们为了节省资源缓存了吧
    cst4you
        17
    cst4you  
       Oct 8, 2014
    @est
    api 返回的东西里出个字段内容是备案号 -_,-
    qiayue
        18
    qiayue  
    PRO
       Oct 8, 2014
    @jianghu52 感觉你没仔细看楼主描述的情况
    est
        19
    est  
       Oct 8, 2014
    @cst4you 按照JSON标准,汉字要写成 \uXXXX 这种的。备案号里面恰好有个 京 什么的开头。
    hging
        20
    hging  
       Oct 8, 2014
    如果你知道长城宽带还硬放广告的话. 你就不会觉得移动坑了. 用着用着 右下角peng的就弹出来个广告. 你想想什么感觉吧.
    wdlth
        21
    wdlth  
       Oct 8, 2014
    移不动这么便宜,当然要避免跨网流量了……
    guotie
        22
    guotie  
       Oct 8, 2014
    404推送,哈哈,哥很了解。
    xatest
        23
    xatest  
       Oct 8, 2014
    @est 有可视的网页,浏览器能访问的才叫网站吧,纯API那只能叫服务器,应该不用备案。。。
    est
        24
    est  
       Oct 8, 2014
    @xatest 能解释给领导听就好了。
    wzxjohn
        25
    wzxjohn  
       Oct 8, 2014 via iPad
    还是那句老话,中国移不动是天朝劫持最严重的运营商,没有之一。
    esile
        26
    esile  
       Oct 8, 2014
    自定义错误代码
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2801 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 138ms · UTC 05:05 · PVG 13:05 · LAX 22:05 · JFK 01:05
    ♥ Do have faith in what you're doing.