Yêu cầu - Xử lý chuyển hướng

Chương này sẽ xem xét cách thư viện Yêu cầu xử lý trường hợp chuyển hướng url.

Thí dụ

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

Url: http://google.com sẽ được chuyển hướng bằng mã trạng thái 301 (Đã chuyển vĩnh viễn) đến https://www.google.com/. Việc chuyển hướng sẽ được lưu trong lịch sử.

Đầu ra

Khi đoạn mã trên được thực thi, chúng tôi nhận được kết quả sau:

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

Bạn có thể ngừng chuyển hướng URL bằng cách sử dụng allow_redirects = False. Nó có thể được thực hiện trên các phương thức GET, POST, OPTIONS, PUT, DELETE, PATCH được sử dụng.

Thí dụ

Đây là một ví dụ tương tự.

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

Bây giờ nếu bạn kiểm tra kết quả đầu ra, chuyển hướng sẽ không được phép và sẽ nhận được mã trạng thái là 301.

Đầu ra

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>