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)
广告