Câu hỏi: PRP201c - Phần 3: Thu thập và trao đổi dữ liệu web
43 câu trắc nghiệm kèm lời giải của môn PRP201c - Lập trình Python, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
<a>
<b>X</b>
<c>
<d>Y</d>
<e>Z</e>
</c>
</a>tn.read_until(b"Login:")tn.read_until(b"user: ")tn.read_until(b"user:")tn.read_until(b"Username: ")find()encode()decode()upper()urlopen()connect()request()readurl()requests.tail('https://httpbin.org/tail')requests.put('https://httpbin.org/put', data={'key':'value'})requests.put('https://httpbin.org/tail')requests.get('https://httpbin.org/put', data={'key':'value'})Đáp án đúng: "
requests.put('https://httpbin.org/put', data={
'key':'value'
})". Thư viện requests cung cấp mỗi phương thức HTTP thành một hàm cùng tên: get, post, put, delete, head, patch, options. Dịch vụ httpbin gắn mỗi đường dẫn với đúng phương thức của nó: /put chỉ nhận yêu cầu PUT và gửi lại nội dung đã nhận, nên gọi requests.put tới /put kèm data là yêu cầu khớp cả hàm lẫn đường dẫn. "requests.tail('https://httpbin.org/tail')" sai vì HTTP không có phương thức TAIL và requests không có hàm tail, Python báo AttributeError trước khi gửi gì đi. "requests.put('https://httpbin.org/tail')" gọi đúng hàm nhưng httpbin không có đường dẫn /tail, máy chủ trả mã 404 Not Found. "
requests.get('https://httpbin.org/put', data={
'key':'value'
})" dùng GET cho đường dẫn chỉ nhận PUT nên bị trả mã 405 Method Not Allowed; ngoài ra GET thường không mang thân dữ liệu, tham số của GET nên đặt trong params.
socket.sendto(address, data)socket.address()socket.sendto(data, address)socket.data