hyp*_*ean 2 binary erlang parsing http
如果我有以下二进制文件:,如何将其拆分以便只检索host()?<<"GET http://www.google.com HTTP/1.1">>
http://www.google.com
我从以下开始:
get_host(<<$G, Rest/binary>>) -> get_host(Rest);
get_host(<<$E, Rest/binary>>) -> get_host(Rest);
get_host(<<$T, Rest/binary>>) -> get_host(Rest);
但我不确定如何从这里开始.我正在考虑Rest
从二进制文件的末尾开始反转并重新开始.
D.N*_*bon 10
您似乎正在尝试为HTTP 1.1实现最小解析器.这是一个遵循HTTP 1.1规范并解析http请求第一行的解决方案.在不知道您的具体情况的情况下,我会在大多数情况下建议在简化的"拆分二进制"之前使用通用的HTTP解析器.
1> erlang:decode_packet(http,<<"GET http://www.google.com HTTP/1.1\n">>,[]).
{ok,{http_request,'GET',
{absoluteURI,http,"www.google.com",undefined,"/"},
{1,1}},
<<>>}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1718 次 |
最近记录: |