网络上从服务器传送文本到浏览器,需要使用http协议(基于TCP/IP通信协议)。HTTPS 在HTTP 的基础上加入了SSL,增加了数据传输的安全性。目前,网站和接口API都大量使用https。
Python提供了requests库来发送HTTP请求。
安装:pip install requests
发送GET请求
import requests# 发送GET请求response = requests.get('https://www.example.com')# 获取响应内容print(response.status_code) # 状态码print(response.text) # 响应内容发送POST请求
import requests# 发送POST请求data = {'key1': 'value1', 'key2': 'value2'}response = requests.post('https://www.toutiao.com/post', data=data)# 获取响应内容print(response.status_code) # 状态码print(response.json()) # 解析JSON响应http.client是Python标准库中的一个模块,用于实现HTTP客户端的功能,支持HTTP/1.1。
Socket 编程套接字(Socket)是网络编程的基础。通过套接字,应用程序可以在网络上进行数据的发送和接收。Python的socket模块提供了创建套接字、连接、发送和接收数据的基本功能。
基本组成
服务端:监听端口,等待客户端连接。(初始化 socket,得到文件描述符->调用 bind,将 socket 绑定在指定的 IP 地址和端口->调用 listen,进行监听->调用 accept,等待客户端连接)客户端:主动连接服务器,发送请求并接收响应。(客户端初始化 socket->调用 connect,向服务端的IP和端口发起连接请求->服务端 accept 返回用于传输的 socket 的文件描述符->客户端调用send发送数据->服务端接收数据->客户端断开连接调用 close,则服务端会读取到了 EOF,待处理完数据后,服务端调用 close关闭连接)服务器端代码
import socket# 创建Socket对象server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定IP和端口server_socket.bind(('127.0.0.1', 80))# 监听连接server_socket.listen(5)print("服务器已启动,等待客户端连接...")while True: # 接受客户端连接 client_socket, addr = server_socket.accept() print(f"客户端 {addr} 已连接") # 接收数据 data = client_socket.recv(1024).decode('utf-8') print(f"收到数据:{data}") # 发送数据 client_socket.send("Hello, Client!".encode('utf-8')) # 关闭连接 client_socket.close()客户端代码
import socket# 创建Socket对象client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接服务器client_socket.connect(('127.0.0.1', 80))# 发送数据client_socket.send("Hello, Server!".encode('utf-8'))# 接收数据data = client_socket.recv(1024).decode('utf-8')print(f"收到数据:{data}")# 关闭连接client_socket.close()
Python语言网络编程