本文由我司收集整编,推荐下载,如有疑问,请与我司联系
Python HTTP SSL
服务器接受连接的速度很慢
Python HTTP SSL
服务器接受连接的速度很慢
[
英
]Python HTTP SSL Server slow
to accept connections The following python code is used to create a HTTPS Server.
以下
python
代码用于创建
HTTPS
服务器。
‘‘‘Created
on
23/07/2014@author:
o880732import
sysimport
BaseHTTPServerimport
base64from
multiprocessing
import
Process,
Queuefrom
httplib
import
HTTPSConnectionimport
sslimport
datetimeclass
MyHttpEndpointHandler(BaseHTTPServer.BaseHTTPRequestHandler): def __init__(self,
q, *args): self.q = q BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args) def
do_POST(self):
self.send_response(200,
‘OK’)
self.send_header(‘Server’,
‘Apache-
Coyote/1.1’) self.send_header(‘Content-type’,’text/xml’) self.end_headers() # Extract and
print the contents of the POST length = int(self.headers[‘Content-Length’]) print “Length
of
content
is
“
+
str(length)
post_data
=
self.rfile.read(length)
self.q.put(post_data)
def
setupEndpointHandler(self, queue): return lambda *args: MyHttpEndpointHandler(queue,
*args)
def
handleEndpoint(self):
“Starting
endpoint
handler”
handler
=
self.setupEndpointHandler(self.q)
httpd
=
BaseHTTPServer.HTTPServer((‘‘,8443),
handler)
httpd.socket
=
ssl.wrap_socket(httpd.socket,
keyfile=self.keyfile,
certfile
=
self.certfile,
server_side=True)
httpd.serve_forever()if
__name__
==
‘__main__’:
q
=
Queue()
“trying
to
start
endpoint”
ep
=
ServerEndpointHandler(q,
keyfile=“~/certificates/server.key”,
certfile
=
“~/certificates/server.crt”)
t2
=
Process(target=ep.handleEndpoint)
t2.start()
t2.join()
The
issue
I
have
is
that
on
a
RedhatLinux server the time to accept a connection is approximately 20sec, whereas the
same code running under Windows7 the connection time is approximately 200msec.
我遇到的问题是在
RedhatLinux
服务器上接受连接的时间大约是
20
秒
,
而在
Windows7
下运行的相同代码的连接时间大约是
200
毫秒。
Both systems are running Python 2.6.6.