子类继承和BaseHTTPRequestHandler
子类继承
class Person(object):
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
class Student(Person):
def __init__(self, name, gender, age, school, score):
super(Student,self).__init__(name,gender,age)
self.school = school
self.score = score
class Student2():
def __init__(self, name, gender, age, school, score):
self.name = name
self.gender = gender
self.age = age
self.school = school
self.score = score
s = Student('Alice', 'female', 18, 'Middle school', 87)
print(s.school)
print(s.name)
BaseHTTPRequestHandler
1. server端
import datetime
from http.server import HTTPServer, BaseHTTPRequestHandler
import json
class Resquest(BaseHTTPRequestHandler):
def handler(self):
print("data:", self.rfile.readline().decode())
self.wfile.write(self.rfile.readline())
def do_GET(self):
print(self.requestline)
if self.path != '/hello':
self.send_error(404, "Page not Found!")
return
data = {
'result_code': '0',
'result_desc': 'Success',
'timestamp': '',
'data': {'message_id': '25d55ad283aa400af464c76d713c07ad'}
}
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps(data).encode())
def do_POST(self):
print('headers: ', self.headers)
print('--------\n')
print('command: ', self.command)
print('--------\n')
req_datas = self.rfile.read(int(self.headers['content-length']))
print(req_datas.decode())
data = {
'result_code': '1',
'result_desc': 'Response back success',
'timestamp': str(datetime.datetime.now()),
'data': {'message_id': '25d55ad283aa400af464c76d713c07ad'}
}
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps(data).encode('utf-8'))
if __name__ == '__main__':
host = ('127.0.0.1', 9000)
server = HTTPServer(host, Resquest)
print("Starting server, listen at: %s:%s" % host)
server.serve_forever()
2. client端
import datetime
import requests
def req():
data = {
'result_code': '99',
'result_desc': 'Post Success',
'timestamp': str(datetime.datetime.now()),
'data': {'message_id': '35d56ad283gb500af464c76d713c17ac'}
}
response = requests.get('http://127.0.0.1:9000/hello')
print(response.status_code)
print(type(response))
print(response.headers)
post = requests.post('http://127.0.0.1:9000', json={'data': data})
print(post.json())
if __name__ == '__main__':
req()