====== 第二十七章:网络编程 ====== ===== 本章目标 ===== 完成本章学习后,你将能够: * 使用socket进行网络通信 * 使用http.client进行HTTP请求 * 理解TCP/UDP编程 ===== Socket编程 ===== import socket # 创建TCP客户端 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(('example.com', 80)) client.send(b'GET / HTTP/1.1\r\nHost: example.com\r\n\r\n') response = client.recv(4096) client.close() ===== HTTP请求 ===== import urllib.request import json # GET请求 with urllib.request.urlopen('https://api.github.com') as response: data = json.loads(response.read()) # POST请求 req = urllib.request.Request( 'https://httpbin.org/post', data=b'key=value', headers={'Content-Type': 'application/x-www-form-urlencoded'}, method='POST' ) with urllib.request.urlopen(req) as response: print(response.read()) ===== 本章练习 ===== 1. 实现简单的TCP客户端/服务器 2. 实现HTTP GET/POST工具 3. 实现端口扫描器 下一章:[[python_course:chapter28|第二十八章:多线程]]