http-parser

소프트웨어 스크린 샷:
http-parser
소프트웨어 정보:
버전: 0.8.3
업로드 날짜: 20 Feb 15
개발자: Benoit Chesneau
라이센스: 무료
인기: 16

Rating: nan/5 (Total Votes: 0)

HTTP 파서 라이언 달의 HTTP 파서를 기반으로, MIT 라이센스에 따라 C 파이썬에 대한 HTTP 요청 / 응답 파서입니다.
설치 :
설치 PIP HTTP 파서
또는 소스에서 설치 :
자식 복제 자식 : //github.com/benoitc/http-parser.git
CD에 http 파서 && 파이썬 setup.py 설치
사용법 :
HTTP 파서는 당신이 파이썬 프로그램에 액세스 할 수 있습니다 C에서 parser.HttpParser 낮은 수준의 파서를 제공하고 http.HttpStream는 읽을 수있는, 순차적 io.RawIOBase 객체에 높은 수준의 액세스를 제공합니다.
독자 모듈의 HTTP-파서 prvides 당신에게 독자의 3 종류, 하루 작업에 도움하려면 IterReader이 반복 가능 객체를 읽고, StringReader라는 문자열과 StringIO가 객체를 읽어하는, SocketReader은 동일한 및 icirc와 소켓 또는 객체를 읽어; (recv_into 필요). 당신은 어떤 io.RawIOBase 객체를 사용 물론 cnan.
Likre HTTP 파서는 결국 비동기 적으로 어떤 HTTP 스트림을 구문 분석 할 수 있도록, C 파서에 자신의 콜백을 전달할 수 있습니다 C에서. 콜백은 다음과 같습니다 :
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 / bin / env를 파이썬
수입 소켓
http_parser.http 가져 오기에서 HttpStream
http_parser.reader 수입 SocketReader에서
데프 주 () :
& NBSP; S = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& NBSP; 시도 :
& NBSP; s.connect (( 'gunicorn.org', 80))
& NBSP; s.send ( "GET / HTTP / 1.1 연구 nHost : gunicorn.org r에 n r 일 없음 ")
& NBSP; R = SocketReader (들)
& NBSP; P = HttpStream (R)
& NBSP; 인쇄 p.headers ()
합니다. & nbsp; 인쇄 p.body_file () 읽기 ()
& NBSP; 마지막으로 :
& NBSP; s.close ()
경우 __name__ == "__main__":
& NBSP; 주 ()
HttpParser의 예 :
#!으로 / usr / bin / env를 파이썬
수입 소켓
http_parser.parser 가져 오기에서 HttpParser
데프 주 () :
& NBSP; P = HttpParser ()
& NBSP; S = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& NBSP; 몸 = []
& NBSP; 시도 :
& NBSP; s.connect (( 'gunicorn.org', 80))
& NBSP; s.send ( "GET / HTTP / 1.1 연구 nHost : gunicorn.org r에 n r 일 없음 ")
& NBSP 트루 (True) 일 때 :
& NBSP; 데이터 = s.recv (1024)
& NBSP;하지 않을 경우 데이터 :
& NBSP; 휴식
& NBSP; recved = LEN (데이터)
& NBSP; nparsed = p.execute (데이터, recved)
& NBSP; recved nparsed == 주장
& NBSP; 경우 p.is_headers_complete () :
& NBSP; 인쇄 p.get_headers ()
& NBSP; 경우 p.is_partial_body () :
& NBSP; body.append (p.recv_body ())
& NBSP; 경우 p.is_message_complete () :
& NBSP; 휴식
& NBSP; 인쇄 "".join (본체)
& NBSP; 마지막으로 :
& NBSP; s.close ()
경우 __name__ == "__main__":
& NBSP; 주 ()
당신은 코드에 더 많은 문서를 찾을 수 (또는 문서의 genererator 사용) 할 수 있습니다

이 요구 사항 : 있습니다.

파이썬
사이 썬 당신은 C 코드를 다시 작성해야하는 경우

개발자의 기타 소프트웨어 Benoit Chesneau

Couchapp
Couchapp

14 Apr 15

Restkit
Restkit

5 Jun 15

http-parser
http-parser

12 May 15

코멘트 http-parser

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!