相关文章推荐
刚失恋的木瓜  ·  vue JavaScript ...·  9 月前    · 
听话的牛肉面  ·  Vue ref vs React refs ...·  1 年前    · 

import base64

from multiprocessing import Process, Queue

from httplib import HTTPSConnection

import ssl

import datetime

class 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)

class ServerEndpointHandler:

def __init__(self,q,keyfile,certfile):

self.q = q

self.keyfile = keyfile

self.certfile = certfile

def setupEndpointHandler(self, queue):

return lambda *args: MyHttpEndpointHandler(queue, *args)

def handleEndpoint(self):

print "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()

print "trying to start endpoint"

ep = ServerEndpointHandler(q, keyfile="~/certificates/server.key", certfile = "~/certificates/server.crt")

t2 = Process(target=ep.handleEndpoint)

t2.start()

t2.join()

我遇到的问题是,在RedhatLinux服务器上,接受连接的时间大约为20秒,而在Windows7下运行的相同代码的连接时间大约为200毫秒。在

两个系统都运行python2.6.6。在

redhat版本是6.4(圣地亚哥)

^{pr2}$

我已经将openssl和python包更新到Redhat的当前版本。在Installed Packages

openssl.x86_64 1.0.1e-16.el6_5.14 @rhel-x86_64-server-6

python.x86_64 2.6.6-52.el6 @rhel-x86_64-server-6

Available Packages

openssl.i686 1.0.1e-16.el6_5.14 rhel-x86_64-server-6

python.i686 2.6.5-3.el6_0.2 rhel-x86_64-server-6

我认为延迟与协议协商有关,我想知道从哪里解决这个问题,或者这个问题可能是什么。在

有什么线索吗?在

下面的python代码用于创建HTTPS服务器。在'''Created on 23/07/2014@author: o880732'''import sysimport BaseHTTPServerimport base64from multiprocessing import Process, Queuefrom httplib import HTTPSConnectionimport ssli... HTTP Web 服务器 (ip ='localhost',port = 8000): Http Servers().start() 具有CGI(ip ='localhost',port = 8000)的 HTTP Web 服务器 Http Servers(use_cgi=True).start() HTTP S Web 服务器 (ip ='localhost',端口= 1443): Http Servers(use_ ssl =True).start() 具有CGI(ip ='localhost',端口= 1443)的 HTTP S Web 服务器 Http Servers(use_ ssl =True, use_cgi=True).sta
复制代码 代码如下:# -*- coding: cp936 -*-from scapy.all import *from threading import Thread,activeCountfrom random import randint class Loop(Thread):    def __init__(self,remoteAddr):        Thread.__init__(self)        self.remoteAddr = remoteAddr     def run(self):        ip = str(randint(0,255))+’.’\
python 3 http .server模块 搭建简易 http 服务器 1、选择 服务器 根目录2、开启 http 服务3、本地查看4、非本地查看 1、选择 服务器 根目录 选择一个目录作为 http 服务器 的根目录,并进入。 2、开启 http 服务 运行 命令 python -m http .server 8888 3、本地查看 本地浏览器输入 http ://localhost:8888/可以查看简易 服务器 4、非本地查看 运行 ipconfig(window) 或者ifconfig(linux)查看电脑ip地址。这里为:
对于 Python 开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太 ,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。 新版ubuntu要求使用 http s源,要注意。 清华: http s://pypi.tuna.tsinghua.edu.cn/simple 阿里云: http ://mir...
代码中存在性能问题,如频繁的 I/O 操作或过于复杂的运算 服务器 硬件问题,如硬盘故障或磁盘读写速度过 Python 运行 时环境问题,如 Python 版本过低或第三方库版本不兼容. 建议进行性能调优和监控,以确定问题的具体原因。 certfile = "/path/to/cert.pem" keyfile = "/path/to/key.pem" ssl _context = ssl . SSL Context( ssl .PROTOCOL_TLS_SERVER) ssl _context.load_cert_chain(certfile=certfile, keyfile=keyfile) # 创建 HTTP 服务器 对象,将证书和私钥传递给 HTTP SServer server_address = ("localhost", 4443) http d = http .server. HTTP Server(server_address, http .server.Simple HTTP RequestHandler) http d.socket = ssl _context.wrap_socket( http d.socket, server_side=True) # 启动 服务器 http d.serve_forever() 在上面的代码中,我们首先使用 Python 的` ssl `模块生成了自签名证书和私钥。然后,我们使用` http .server`模块创建了一个 HTTP 服务器 对象,并将证书和私钥传递给` HTTP SServer`类的构造函数。最后,我们调用`serve_forever`方法启动 服务器 。 注意:由于这是一个自签名证书,客户端可能会收到安全警告。在实际生产环境中,应该使用由受信任的证书颁发机构(CA)签名的证书。