python https server and client
来源:互联网 发布:mysql gis空间数据库 编辑:程序博客网 时间:2024/04/29 22:34
HTTPS SERVER:
- #!/usr/bin/env python
- import socket, os
- from SocketServer import BaseServer
- from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
- from SimpleHTTPServer import SimpleHTTPRequestHandler
- from OpenSSL import SSL
- CERTIFICATE_PATH = os.getcwd() + '/CA/server.crt'
- KEY_PATH = os.getcwd() + '/CA/private/server.key'
- class SecureHTTPServer(HTTPServer):
- def __init__(self, server_address, HandlerClass):
- BaseServer.__init__(self, server_address, HandlerClass)
- ctx = SSL.Context(SSL.SSLv23_METHOD)
- ctx.use_privatekey_file(KEY_PATH)
- ctx.use_certificate_file(CERTIFICATE_PATH)
- self.socket = SSL.Connection(ctx, socket.socket(self.address_family, self.socket_type))
- self.server_bind()
- self.server_activate()
- class MemberUpdateHandler(SimpleHTTPRequestHandler):
- def setup(self):
- self.connection = self.request
- self.rfile = socket._fileobject(self.request, "rb", self.rbufsize)
- self.wfile = socket._fileobject(self.request, "wb", self.wbufsize)
- def do_GET(self):
- try:
- print 'path:', self.path
- print self.path.endswith('.txt')
- if self.path.endswith('.txt'):
- self.send_response(200)
- self.send_header('Content-type', 'text/html')
- self.end_headers()
- self.wfile.write("successful")
- return
- else:
- self.send_response(200)
- self.send_header('Content-type', 'text/html')
- self.end_headers()
- self.wfile.write("not successful")
- except IOError:
- self.send_error(404, 'What you talking about willis?')
- def test(HandlerClass = MemberUpdateHandler,
- ServerClass = SecureHTTPServer):
- server_address = ('', 4444)
- httpd = ServerClass(server_address, HandlerClass)
- sa = httpd.socket.getsockname()
- print "serving HTTPS on:", sa[0], "port:", sa[1], "..."
- httpd.serve_forever()
- if __name__ == '__main__':
- test()
HTTPS CLIENT:
- #!/usr/bin/env python
- import os
- import httplib
- import socket
- KEY_FILE = os.getcwd() + '/CA/private/client.key'
- CERT_FILE = os.getcwd() + '/CA/client.crt'
- GET = "GET"
- conn = httplib.HTTPSConnection('0.0.0.0', '4444', cert_file = CERT_FILE)
- conn.request(GET, "/this.txt")
- response = conn.getresponse()
- print response.status, response.reason, response.read()
- conn.close()
0 0
- python https server and client
- python client and server
- python server and client
- Python UDP Server and Client
- python创建http/https server和client
- Thrift tutorial(python server and php client)
- Simple HTTP Server and Client in Python
- python: https client sample
- python 双向https client
- Python学习之client and server篇一:python 实现简单client与server
- svn client and server
- client and server direct
- C++ Server and Client
- socket ---> server and client
- tcp client and server
- Client And Server
- ROS server and client
- client/server程序-python
- shell if-else
- iOS Label分段设置颜色
- 初步了解jquery mobile
- Unreal Engine 4/虚幻4 视频纹理或者在关卡中播放视频
- Palindrome Number
- python https server and client
- nyoj 330 一个简单的数学题
- .eq()的使用
- struts2实现文件导出type="stream"
- informix 表空间
- 会计科目登错怎么更正
- C语言 将一个字符串转化为整数
- highcharts显示问题
- Android——屏幕匹配