2012-12-30 10 views
7

यह सवाल है: गेइवेंट का उपयोग करते समय पायथन में POST चर कैसे प्राप्त करें?गीवेंट का उपयोग करते समय पायथन में POST चर कैसे प्राप्त करें?

निम्नलिखित आवेदन करने के लिए पारित कर दिया है:

def application(env, start_response): 

और यह अन्य हिस्सा है:

if __name__ == '__main__': 
print 'Serving on 8080...' 
WSGIServer(('', 8080), application).serve_forever() 

लेकिन env मेरी पोस्ट शामिल नहीं है!

कृपया मुझे प्रबुद्ध करें - मेरी गलतफहमी कहां है?

धन्यवाद!

डीईएफ़

callback(request): 
    post_data = request.input_buffer.read(-1) 

उत्तर

2

आप अनुरोध शरीर environ['wsgi.input'].read() पार्स करने के लिए की जरूरत है:

+0

धन्यवाद, @ डेनिस! मैं वास्तव में यहां एक कोड स्निपेट भर गया: ', ---- | #!/usr/bin/env python | | बोतल आयात बोतल से | | ऐप = बोतल() | @ app.route ('/') | डीफ़ हैलो(): | वापसी "हैलो वर्ल्ड!" | | gevent.pywsgi आयात से WSGIServer | WSGIServer (('', 8000), ऐप) .serve_forever() ' लेकिन मुझे वास्तव में यह नहीं मिलता है कि यह क्या करता है। और किस तरह से तेज है? wsgi.input या बोतल? धन्यवाद! –

+0

आपका मुख्य सुझाव काम करता है !!! आपका बहुत बहुत धन्यवाद! –

1

यहाँ अनुरोध हैंडलर के उदाहरण कोड है।

हालांकि, आप अपने लिए ऐसा करने के लिए वेब ढांचे का उपयोग करना बेहतर कर रहे हैं। अधिकांश डब्लूएसजीआई-सक्षम वेब ढांचे गीवेन्ट के साथ अच्छी तरह से काम करते हैं। यदि आपको कम से कम कुछ चाहिए, तो bottle अच्छा है।

+0

_request_ विधि को कैसे पास किया गया है? क्या यह मेरे मामले में env के समान नहीं होगा? –

संबंधित मुद्दे