में सर्वर पक्ष पर HTTP HTTP इनपुट पैरामीटर प्रोसेसिंग मैंने अनुभव के लिए पाइथन में एक साधारण HTTP क्लाइंट और सर्वर लिखा था। नीचे दिया गया पहला कोड स्निपेट दिखाता है कि मैं HTTP को एक पैरामीटर के साथ अनुरोध कैसे भेजता हूं अर्थात् आईएमआईआई। दूसरे कोड स्निपेट में मैं सर्वर के पक्ष में अपना डूगेट फ़ंक्शन कार्यान्वयन दिखाता हूं। मेरा सवाल यह है कि मैं सर्वर कोड में आईएमएसआई पैरामीटर कैसे निकाल सकता हूं और क्लाइंट को सिग्नल सिग्नल करने के लिए क्लाइंट को प्रतिक्रिया भेज सकता हूं कि आईएमआई वैध है। धन्यवाद।पाइथन
पीएस .: मैंने सत्यापित किया कि क्लाइंट सफलतापूर्वक अनुरोध भेजता है।
ग्राहक कोड स्निपेट
params = urllib.urlencode({'imsi': str(imsi)})
conn = httplib.HTTPConnection(host + ':' + str(port))
#conn.set_debuglevel(1)
conn.request("GET", "/index.htm", 'imsi=' + str(imsi))
r = conn.getresponse()
सर्वर कोड स्निपेट
import sys, string,cStringIO, cgi,time,datetime
from os import curdir, sep
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
class MyHandler(BaseHTTPRequestHandler):
# I WANT TO EXTRACT imsi parameter here and send a success response to
# back to the client.
def do_GET(self):
try:
if self.path.endswith(".html"):
#self.path has /index.htm
f = open(curdir + sep + self.path)
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write("<h1>Device Static Content</h1>")
self.wfile.write(f.read())
f.close()
return
if self.path.endswith(".esp"): #our dynamic content
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write("<h1>Dynamic Dynamic Content</h1>")
self.wfile.write("Today is the " + str(time.localtime()[7]))
self.wfile.write(" day in the year " + str(time.localtime()[0]))
return
# The root
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
lst = list(sys.argv[1])
n = lst[len(lst) - 1]
now = datetime.datetime.now()
output = cStringIO.StringIO()
output.write("<html><head>")
output.write("<style type=\"text/css\">")
output.write("h1 {color:blue;}")
output.write("h2 {color:red;}")
output.write("</style>")
output.write("<h1>Device #" + n + " Root Content</h1>")
output.write("<h2>Device Addr: " + sys.argv[1] + ":" + sys.argv[2] + "</h1>")
output.write("<h2>Device Time: " + now.strftime("%Y-%m-%d %H:%M:%S") + "</h2>")
output.write("</body>")
output.write("</html>")
self.wfile.write(output.getvalue())
return
except IOError:
self.send_error(404,'File Not Found: %s' % self.path)
क्या आपको 'GET' अनुरोध' के साथ भेजा गया 'args' नहीं मिलता है? – aayoubi
संबंधित: https://stackoverflow.com/questions/2490162/parse-http-get-and-post-parameters-from-basehttphandler –