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>