HTTP解析器 HTTP Parser

MIT
C/C++ 查看源码»
跨平台
2013-02-19
mingshun

C语言实现的HTTP解析器,提供请求和响应报文的解析功能,可用于高性能的HTTP应用程序中。它不使用任何系统调用及内存分配的功能,并且不缓冲任何数据,可以被随时中断使用。根据你的系统架构,它处理一个请求只消耗约40字节(而对于网络服务器就是每个连接)。

功能:

  • 不依赖第三方库
  • 处理持续流(keep-alive)
  • 分块解码
  • 支持Upgrade
  • 防止缓冲区溢出攻击

可以从HTTP消息中解析出下列信息:

  • 报头域及值
  • Content-Length
  • 请求方法
  • 响应代码
  • 传输编码
  • HTTP版本
  • 请求URL
  • 消息体

示例代码:

http_parser_settings settings;
settings.on_url = my_url_callback;
settings.on_header_field = my_header_field_callback;
/* ... */

http_parser *parser = malloc(sizeof(http_parser));
http_parser_init(parser, HTTP_REQUEST);
parser->data = my_socket;
的码云指数为
超过 的项目
加载中

评论(1)

JSON.org.cn
JSON.org.cn
处理一个请求只消耗约40字节? 这个怎么理解? HTTP Parser

暂无资讯

1
回答
HTTP Parser

c写的如何使用 怎么没有文档说明。如何分析.pcap文件?

2014/04/01 13:50

没有更多内容

加载失败,请刷新页面

没有更多内容

天眼查接口token, _utm获取

同学让我帮忙看看天眼查,说token和_utm取不出来。其实挺简单的,通过观察请求,发现每次取数据时,都会打一个tongji的接口。发现里面有个v参数,取出来,逗号分隔,ascii转字符,再拼接。直...

2016/12/16 09:41
4K
3
http_parse使用与学习

最近学习了下http_parse解析库,是nginx的一个解析http库, 在解析的过程中,它不会调用任何系统调用,不会在HEAP上申请内存,不会缓存数据,并且可以在任意时刻打断解析过程,而不会产生任何...

01/19 19:46
17
0
Java爬取网页

之前用python爬取网页了,现在我们在用Java来爬取网页,两者可以对比一下,个人感觉python语言简洁清新,比较好用.

2015/08/17 21:19
13
0
Android HTML Parser Example

http://stackoverflow.com/questions/5867746/android-html-parser-example http://stackoverflow.com/questions/7070832/using-html-parser-in-android-project Try using JSoup. 在 Androi...

2013/04/24 20:06
325
0
ios网络编程(http、socket)

http编程综述:亦可称为soap编程。通常情况下,http编程要比socket编程相对要简单易用得多。所以用的最广广泛。 一、http编程其实就是http请求。http请求最长用的方法是 get 和 post 方法。 ...

2014/02/28 11:49
6.6K
0
Error digesting Registry data org.xml.sax.SAXNotSu

异常:org.xml.sax.SAXNotSupportedException: not supported setting property http://xml.org/sax/properties/lexical-handler...

2016/06/07 14:33
536
0
IOS开发中rss解析数据解析

rss数据格式数据解析

2015/08/07 10:38
85
0
Play 2.0 用户指南 - HTTP编程 --针对Scala开发者

Play 2.0 的 Scala API 位于play.api包下。 该API直接位于 play 顶级包中(而play.mvc是为Java开发者提供的)。对于Scala开发者,查阅play.api.mvc。 Actions, Controllers and Results 什么...

2012/03/19 14:54
6K
5
实现从网页上抓取数据(htmlparser)

package parser; package parser; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; ...

2016/12/23 12:31
8
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部