के साथ प्रतिक्रिया प्रतिक्रिया निकाय मैं पाइथन 3.2.2 के साथ थोड़ा सा खेल रहा हूं और कुछ डेटा दूरस्थ रूप से एक्सेस करने के लिए एक सरल वेब सर्वर लिखना चाहता हूं। यह डेटा पायथन द्वारा जेनरेट किया जाएगा, इसलिए मैं SimpleHTTPRequestHandler का उपयोग नहीं करना चाहता क्योंकि यह एक फ़ाइल सर्वर है, लेकिन मेरा खुद का एक हैंडलर है।बेसएचटीटीपीआरएस्टहैंडलर
मैंने इंटरनेट से कुछ उदाहरण कॉपी किया लेकिन मैं अटक गया क्योंकि प्रतिक्रिया आउटपुट स्ट्रीम शरीर सामग्री लिखने से इंकार कर देता है।
import http.server
import socketserver
PORT = 8000
class MyHandler(http.server.BaseHTTPRequestHandler):
def do_HEAD(self):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
def do_GET(self):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
print(self.wfile)
self.wfile.write("<html><head><title>Title goes here.</title></head>")
self.wfile.write("<body><p>This is a test.</p>")
# If someone went to "http://something.somewhere.net/foo/bar/",
# then s.path equals "/foo/bar/".
self.wfile.write("<p>You accessed path: %s</p>" % self.path)
self.wfile.write("</body></html>")
self.wfile.close()
try:
server = http.server.HTTPServer(('localhost', PORT), MyHandler)
print('Started http server')
server.serve_forever()
except KeyboardInterrupt:
print('^C received, shutting down server')
server.socket.close()
क्या प्रतिक्रिया शरीर लिखने के लिए एक सही कोड होना चाहिए:
यह मेरा कोड है?
बहुत बहुत धन्यवाद।
संपादित करें:
त्रुटि है:
...
File "server.py", line 16, in do_GET
self.wfile.write("<html><head><title>Title goes here.</title></head>")
File "C:\Python32\lib\socket.py", line 297, in write
return self._sock.send(b)
TypeError: 'str' does not support the buffer interface
में इस का उपयोग मैं मानता हूं मैं अजगर में मूल बातें :) की जरूरत नहीं है तो मैं कर रहा हूँ एक छोटे से यह पता लगाने की उन्हें कैसे बदलने के लिए प्रकार और उपकरणों के साथ काम करने की कोशिश खो दिया ... – helios
यह कोड आपके कोड में कहां है? self.wfile.write (prueba) – spicavigo
ओह, मुझे खेद है। यह एक और परीक्षण (prueba = परीक्षण) से ट्रेस है। मैं इसे ठीक कर दूंगा। – helios