2.8. WEB编程
2.8.1. 作为客户端与HTTP服务交互
通常使用 urllib.request 模块就够了.当然也是可以使用 requests 库的。
from urllib import request, parse
# Base URL being accessed
url = 'http://httpbin.org/get'
# Dictionary of query parameters (if any)
parms = {
'name1' : 'value1',
'name2' : 'value2'
}
# Encode the query string
querystring = parse.urlencode(parms)
# Make a GET request and read the response
u = request.urlopen(url+'?' + querystring)
resp = u.read()
2.8.2. 创建TCP服务器
from socketserver import BaseRequestHandler, TCPServer
class EchoHandler(BaseRequestHandler):
def handle(self):
print('Got connection from', self.client_address)
while True:
msg = self.request.recv(8192)
if not msg:
break
self.request.send(msg)
if __name__ == '__main__':
serv = TCPServer(('127.0.0.1', 20000), EchoHandler)
serv.serve_forever()
2.8.3. 创建UDP服务器
2.8.4. 通过CIDR地址生成对应的IP地址集
In [7]: import ipaddress
In [8]: net = ipaddress.ip_network('123.45.67.64/27')
In [9]: net[0]
Out[9]: IPv4Address('123.45.67.64')
In [10]: net[10]
Out[10]: IPv4Address('123.45.67.74')