Sử dụng các tiêu đề với phương thức get của thư viện yêu cầu Python


Câu trả lời:


281

Theo api , tất cả các tiêu đề đều có thể được chuyển qua bằng cách sử dụng request.get:

r=requests.get("http://www.example.com/", headers={"content-type":"text"})

14
Bạn có thể kiểm tra tiêu đề yêu cầu http được gửi đang thực hiện: print (r.request.headers)
nono

2
@Breedly Đúng nơi, đúng lúc. Câu chuyện về cuộc đời tôi: số lượng may mắn đáng kể kết hợp với rất nhiều công việc khó khăn.
cwallenpoole

36

Có vẻ khá đơn giản, theo các tài liệu trên trang bạn liên kết (nhấn mạnh của tôi).

request.get (url, params = Không, tiêu đề = Không, cookie = Không, auth = Không, hết thời gian = Không)

Gửi yêu cầu NHẬN. Trả về Responseđối tượng.

Thông số:

  • url - URL cho Requestđối tượng mới .
  • params - (tùy chọn) Từ điển các tham số GET để gửi với Request.
  • tiêu đề - (tùy chọn) Từ điển của Tiêu đề HTTP để gửi cùng với Request.
  • cookie - (tùy chọn) Đối tượng CookieJar để gửi cùng với Request.
  • auth - (tùy chọn) AuthObject để bật Auth HTTP cơ bản.
  • thời gian chờ - (tùy chọn) Float mô tả thời gian chờ của yêu cầu.

3
Cảm ơn, nhưng tôi không thực sự biết quá nhiều về cú pháp của Python. Chỉ là loại học tập. Lần sau giả vờ tôi không biết gì và đã đọc API như anh chàng ở trên.
Nhân giống

2
Có lỗi đánh máy trong liên kết tài liệu hoặc liên kết đã chết, đây là tài liệu mới docs.python-requests.org/en/latest/api
Mutant

28

Câu trả lời này đã dạy tôi rằng bạn có thể đặt tiêu đề cho toàn bộ phiên:

s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})

# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})

Tiền thưởng: Phiên cũng xử lý cookie.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.