Yêu cầu - Làm việc với Yêu cầu
Trong chương này, chúng ta sẽ hiểu cách làm việc với mô-đun yêu cầu. Chúng tôi sẽ xem xét những điều sau:
- Thực hiện các yêu cầu HTTP.
- Chuyển các tham số cho các yêu cầu HTTP.
Thực hiện yêu cầu HTTP
Để thực hiện yêu cầu Http, trước tiên chúng ta cần nhập mô-đun yêu cầu như hình dưới đây:
import requests
Bây giờ chúng ta hãy xem, làm thế nào để thực hiện một cuộc gọi đến URL bằng cách sử dụng mô-đun yêu cầu.
Hãy để chúng tôi sử dụng URL - https://jsonplaceholder.typicode.com/users trong mã, để kiểm tra Mô-đun yêu cầu.
Thí dụ
import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.status_code)
Url - https://jsonplaceholder.typicode.com/usersđược gọi bằng cách sử dụng phương thức request.get (). Đối tượng phản hồi của URL được lưu trữ trong biến getdata. Khi chúng tôi in biến, nó sẽ đưa ra mã phản hồi 200, có nghĩa là chúng tôi đã nhận được phản hồi thành công.
Đầu ra
E:\prequests>python makeRequest.py
<Response [200]>
Để lấy nội dung từ phản hồi, chúng tôi có thể làm như vậy bằng cách sử dụng getdata.content như hình dưới đây -
Thí dụ
import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.content)
getdata.content, sẽ in tất cả dữ liệu có sẵn trong phản hồi.
Đầu ra
E:\prequests>python makeRequest.py
b'[\n {\n "id": 1,\n "name": "Leanne Graham",\n "username": "Bret",\n
"email": "[email protected]",\n "address": {\n "street": "Kulas Light
",\n "suite": "Apt. 556",\n "city": "Gwenborough",\n "zipcode": "
92998-3874",\n "geo": {\n "lat": "-37.3159",\n "lng": "81.149
6"\n }\n },\n "phone": "1-770-736-8031 x56442",\n "website": "hild
egard.org",\n "company": {\n "name": "Romaguera-Crona",\n "catchPhr
ase": "Multi-layered client-server neural-net",\n "bs": "harness real-time
e-markets"\n }\n }
Chuyển các tham số cho các yêu cầu HTTP
Chỉ yêu cầu URL là không đủ, chúng tôi cũng cần phải chuyển các tham số cho URL.
Các tham số chủ yếu được chuyển dưới dạng cặp khóa / giá trị, ví dụ:
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine
Vì vậy, chúng tôi có id = 9 và tên người dùng = Delphine. Bây giờ, sẽ xem làm thế nào để chuyển dữ liệu đó đến các yêu cầu mô-đun Http.
Thí dụ
import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users',
params = payload)
print(getdata.content)
Các chi tiết được lưu trữ trong trọng tải đối tượng trong cặp khóa / giá trị và được chuyển đến tham số, bên trong phương thức get ().
Đầu ra
E:\prequests>python makeRequest.py
b'[\n {\n "id": 9,\n "name": "Glenna Reichert",\n "username": "Delphin
e",\n "email": "[email protected]",\n "address": {\n "street":
"Dayna Park",\n "suite": "Suite 449",\n "city": "Bartholomebury",\n
"zipcode": "76495-3109",\n "geo": {\n "lat": "24.6463",\n
"lng": "-168.8889"\n }\n },\n "phone": "(775)976-6794 x41206",\n "
website": "conrad.com",\n "company": {\n "name": "Yost and Sons",\n
"catchPhrase": "Switchable contextually-based project",\n "bs": "aggregate
real-time technologies"\n }\n }\n]'
Bây giờ chúng tôi đang nhận được thông tin chi tiết về id = 9 và username = Delphine trong phản hồi.
Nếu bạn muốn xem, URL trông như thế nào sau khi truyền các tham số, sử dụng đối tượng phản hồi cho URL.
Thí dụ
import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users',
params = payload)
print(getdata.url)
Đầu ra
E:\prequests>python makeRequest.py
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine