http-parser

软件截图:
http-parser
软件详细信息:
版本: 0.8.3
上传日期: 20 Feb 15
许可: 免费
人气: 2

Rating: nan/5 (Total Votes: 0)

HTTP解析器是在MIT许可一个HTTP请求/响应解析器为Python的C,基于HTTP-解析器瑞恩·达尔。
安装:
PIP安装HTTP解析器
或从源代码安装:
混帐混帐克隆://github.com/benoitc/http-parser.git
CD HTTP解析器&&蟒蛇setup.py安装
用法:
HTTP解析器为您提供在C中,你可以在你的Python程序访问parser.HttpParser低级语法分析器和http.HttpStream提供更高级别的访问权限为可读,连续io.RawIOBase对象。
为了帮助你在一天的工作,HTTP-解析器prvides你3种阅读器的阅读器模块:IterReader阅读的iterable,StringReader来读取字符串和StringIO的对象,SocketReader读取插座或物体与同一个î (recv_into需要)。你cnan当然,使用任何io.RawIOBase对象。
Likre HTTP解析器在C中,你可以通过你自己的回调到C解析器,这样你就可以最终解析异步任何HTTP流。回调是:
on_message_begin()
on_path(路径)
on_query_string(QUERY_STRING)
on_url(URL)
on_fragment(片段)
on_header_field(场,last_was_value)
on_header_value(键,值)
on_headers_complete()
on_body(块)
on_message_complete()
HttpStream示例
例如:
#!的/ usr /斌/包膜蟒蛇
进口插座
从http_parser.http进口HttpStream
从http_parser.reader进口SocketReader
高清的main():
  S = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 尝试:
  s.connect(('gunicorn.org',80))
  s.send(“GET / HTTP / 1.1 r n主机:gunicorn.org r ñ r N”)
  R = SocketReader(S)
  P = HttpStream(r)的
 打印p.headers()
 打印p.body_file()读取()
 最后:
  S.CLOSE()
如果__name__ ==“__main__”:
 主要()
HttpParser的例子​​:
#!的/ usr /斌/包膜蟒蛇
进口插座
从http_parser.parser进口HttpParser
高清的main():
  P = HttpParser()
  S = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 机身= []
 尝试:
  s.connect(('gunicorn.org',80))
  s.send(“GET / HTTP / 1.1 r n主机:gunicorn.org r ñ r N”)
 而真:
 数据= s.recv(1024)
 如果没有数据:
 突破
  recved = LEN(数据)
  nparsed = p.execute(数据,recved)
 断言recved nparsed ==
 如果p.is_headers_complete():
 打印p.get_headers()
 如果p.is_partial_body():
  body.append(p.recv_body())
 如果p.is_message_complete():
 突破
 打印“”。加入(体)
 最后:
  S.CLOSE()
如果__name__ ==“__main__”:
 主要()
您可以在代码中找到更多的文档(或使用文档genererator)

要求

  • 在Python中
  • 在用Cython如果你需要重建的C代码

显影剂的其他软件 Benoit Chesneau

hroute
hroute

11 May 15

fserve
fserve

11 May 15

http-parser
http-parser

12 May 15

意见 http-parser

评论没有发现
添加评论
打开图片!