- Python - 网络编程
- Python - 网络入门
- Python - 网络环境
- Python - 互联网协议
- Python - IP 地址
- Python - DNS 查询
- Python - 路由
- Python - HTTP 请求
- Python - HTTP 响应
- Python - HTTP 头部
- Python - 自定义 HTTP 请求
- Python - 请求状态码
- Python - HTTP 身份验证
- Python - HTTP 数据下载
- Python - 连接重用
- Python - 网络接口
- Python - Socket 编程
- Python - HTTP 客户端
- Python - HTTP 服务器
- Python - 构建 URL
- Python - Web 表单提交
- Python - 数据库和 SQL
- Python - Telnet
- Python - 邮件消息
- Python - SMTP
- Python - POP3
- Python - IMAP
- Python - SSH
- Python - FTP
- Python - SFTP
- Python - Web 服务器
- Python - 上传数据
- Python - 代理服务器
- Python - 目录列表
- Python - 远程过程调用
- Python - RPC JSON 服务器
- Python - 谷歌地图
- Python - RSS Feed
Python - HTTP 客户端
在 HTTP 协议中,客户端的请求到达服务器,并获取一些数据和元数据(假设这是一个有效的请求)。我们可以使用 Python requests 模块中提供的各种函数来分析服务器的此响应。以下 Python 程序在客户端运行,并显示服务器发送的响应结果。
获取初始响应
在下面的程序中,requests 模块的 get 方法从服务器获取数据,并以纯文本格式打印。
import requests r = requests.get('https://httpbin.org/') print(r.text)[:200]
运行上述程序后,我们将得到以下输出:
<!DOCTYPE html > <html lang="en"> <head> <meta charset="UTF-8"> <title>httpbin.org</title> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+
获取 Session 对象响应
Session 对象允许您在请求之间保持某些参数。它还在 Session 实例发出的所有请求之间保持 Cookie。如果您对同一主机发出多个请求,则底层的 TCP 连接将被重用。
import requests s = requests.Session() s.get('http://httpbin.org/cookies/set/sessioncookie/31251425') r = s.get('http://httpbin.org/cookies') print(r.text)
运行上述程序后,我们将得到以下输出:
{"cookies":{"sessioncookie":"31251425"}}
处理错误
如果由于服务器处理请求时出现问题而引发某些错误,则 Python 程序可以使用如下所示的 timeout 参数优雅地处理引发的异常。程序将等待 timeout 参数定义的值,然后引发超时错误。
requests.get('http://github.com', timeout=10.001)
广告