http-parser

Screenshot Λογισμικό:
http-parser
Στοιχεία Λογισμικού:
Εκδοχή: 0.8.3
Ανεβάστε ημερομηνία: 20 Feb 15
Προγραμματιστής: Benoit Chesneau
Άδεια: Δωρεάν
Δημοτικότητα: 2

Rating: nan/5 (Total Votes: 0)

http-parser είναι ένα HTTP αναλυτή ερώτησης / απάντησης για την Python σε C υπό άδεια χρήσης του MIT, που βασίζεται στο http-αναλυτή από Ryan Dahl.
Εγκατάσταση:
Pip εγκαταστήσετε http-parser
Ή να εγκαταστήσετε από την πηγή:
git κλώνος git: //github.com/benoitc/http-parser.git
CD http-parser && python setup.py εγκαταστήσετε
Χρήση:
http-parser που παρέχουν parser.HttpParser χαμηλού επιπέδου αναλυτή σε C που μπορείτε να έχετε πρόσβαση στο πρόγραμμα python σας και http.HttpStream παρέχοντας πρόσβαση υψηλότερου επιπέδου σε μια αναγνώσιμη, διαδοχική αντικείμενο io.RawIOBase.
Για να σας βοηθήσουμε στην καθημερινή εργασία σας, http-parser που prvides 3 είδος των αναγνωστών στην ενότητα αναγνώστη: IterReader να διαβάσετε iterables, StringReader να διαβάζει χορδές και StringIO αντικείμενα, SocketReader να διαβάσετε πρίζες ή αντικείμενα με το ίδιο το & icirc? (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
ex:
#! / Usr / bin / env python
υποδοχή εισαγωγής
από την εισαγωγή http_parser.http HttpStream
από http_parser.reader SocketReader εισαγωγής
def main ():
& Nbsp? S = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
& Nbsp? Δοκιμάσετε:
& Nbsp? S.connect ((«gunicorn.org», 80))
& Nbsp? S.send ("GET / HTTP / 1.1 r nHost: gunicorn.org r n r n")
& Nbsp? R = SocketReader (ες)
& Nbsp? P = HttpStream (r)
& Nbsp? P.headers εκτύπωσης ()
& Nbsp?. P.body_file εκτύπωσης () διαβάζει ()
& Nbsp? Τελικά:
& Nbsp? S.close ()
αν __name__ == "__main__":
& Nbsp? Main ()
Παράδειγμα HttpParser:
#! / Usr / bin / env python
υποδοχή εισαγωγής
από την εισαγωγή http_parser.parser HttpParser
def main ():
& 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 r nHost: gunicorn.org r n r n")
& Nbsp? Ενώ True:
& Nbsp? Δεδομένων = s.recv (1024)
& Nbsp? Αν όχι δεδομένα:
& Nbsp? Διάλειμμα
& Nbsp? Recved = len (δεδομένα)
& Nbsp? Nparsed = p.execute (δεδομένα, recved)
& Nbsp? Διεκδικήσει nparsed == recved
& 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? Main ()
. Μπορείτε να βρείτε περισσότερες docs στον κώδικα (ή χρησιμοποιήστε ένα genererator doc)

Απαιτήσεις :

  • Python
  • Cython αν χρειαστεί να ξαναχτίσουν τον κωδικό C

Άλλο λογισμικό του προγραμματιστή Benoit Chesneau

hroute
hroute

11 May 15

tproxy
tproxy

12 May 15

http-parser
http-parser

12 May 15

fserve
fserve

11 May 15

Σχόλια για http-parser

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!