推荐学习书目
› 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
617450941
V2EX  ›  Python

socket 怎么获取 post 或者 get 过来的数据

  •  
  •   617450941 · Nov 4, 2015 · 5976 views
    This topic created in 3984 days ago, the information mentioned may be changed or developed.
    6 replies  •  2015-11-05 10:38:23 +08:00
    Neveroldmilk
        1
    Neveroldmilk  
       Nov 4, 2015
    什么意思?监听端口,自己定义消息结构并解析啊。
    initialdp
        2
    initialdp  
       Nov 4, 2015
    socket? 需要这么底层么?通过 socket 拿到的是 HTTP 码流,需要自己去解码,然后才能拿到 post 或者 get 的数据。
    exgods
        3
    exgods  
       Nov 4, 2015
    其实也不难,就是在 TCP 上传输 HTTP 协议。 HTTP 协议本来就是 TEXT
    janxin
        4
    janxin  
       Nov 4, 2015 via iPhone
    socket 叫 send 和 recv 吧…
    a358003542
        5
    a358003542  
       Nov 4, 2015
    recv 完了一行行分析, HTTP 协议 get 协议较简单,就是
    GET / HTTP/1.1
    Host: www.google.com
    User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    ----
    Post 与之类似,唯一的区别就是后面空一行之后还跟着 content 。

    用 asyncio 的 aiohttp 模块直接处理 HTTP 协议,没必要弄这么底层的东西。就是你想自己写协议, asyncio 里面你也可以自己
    class Test(Protocol):
    what

    总之 socket ,自己玩玩,真正实际不会用了。
    xiaolee59
        6
    xiaolee59  
       Nov 5, 2015
    socket 是传输层的概念,GET 和 POST 是应用层 HTTP 协议的东西。
    从监听 socket 成功 accept 一个连接后,会得到一个 client socket 的对象,用来和对应的远端 client 通信,直接去这个 client socket 里 recv 出字节流,根据 http 协议解析它就行, http 协议是纯文本协议,就是解析一段文本的操作,不难。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2432 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 07:56 · PVG 15:56 · LAX 00:56 · JFK 03:56
    ♥ Do have faith in what you're doing.