Requests 简明教程

Requests - Handling Redirection

本章将了解 Request 库如何处理 URL 重定向的情况。

Example

import requests
getdata = requests.get('http://google.com/')
print(getdata.status_code)
print(getdata.history)

url: http://google.com 将使用状态代码 301(永久移动)重定向到 https://www.google.com/ 。该重定向将保存在历史记录中。

Output

在执行以上代码后,我们将得到以下结果:

E:\prequests>python makeRequest.py
200
[<Response [301]>]

您可以使用 allow_redirects = False 停止 URL 的重定向。可以在所使用的 GET、POST、OPTIONS、PUT、DELETE、PATCH 方法上进行。

Example

以下是一个示例。

import requests
getdata = requests.get('http://google.com/', allow_redirects=False)
print(getdata.status_code)
print(getdata.history)
print(getdata.text)

现在,如果您检查输出,则不允许重定向,并将获得 301 状态代码。

Output

E:\prequests>python makeRequest.py
301
[]
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>