Tôi muốn gửi tiêu đề "Chấp nhận" tùy chỉnh trong yêu cầu của mình khi sử dụng urllib2.urlopen (..). Làm thế nào để làm điều đó?Làm cách nào để gửi tiêu đề tùy chỉnh với urllib2 trong Yêu cầu HTTP?
53
A
Trả lời
113
Không hoàn toàn. Tạo đối tượng Request
không thực sự gửi yêu cầu và Yêu cầu đối tượng không có phương thức Read()
. (Ngoài ra: read()
là chữ thường.) Tất cả những gì bạn cần làm là vượt qua Request
làm đối số đầu tiên cho urlopen()
và điều đó sẽ cho bạn phản hồi của bạn.
import urllib2
request = urllib2.Request("http://www.google.com", headers={"Accept" : "text/html"})
contents = urllib2.urlopen(request).read()
13
Tôi thường sử dụng:
import urllib2
request_headers = {
"Accept-Language": "en-US,en;q=0.5",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Referer": "http://thewebsite.com",
"Connection": "keep-alive"
}
request = urllib2.Request("http://thewebsite.com", headers=request_headers)
contents = urllib2.urlopen(request).read()
print contents
1
Bên cạnh các giải pháp khác được đề cập đã có, bạn có thể sử dụng phương pháp add_header
.
Vì vậy, ví dụ cung cấp py @pantsgolem sẽ là:
import urllib2
request = urllib2.Request("http://www.google.com")
request.add_header('Accept','text/html')
##Show the header having the key 'Accept'
request.get_header('Accept')
response = urllib2.urlopen(request)
response.read()
Các vấn đề liên quan
- 1. Gửi tiêu đề tùy chỉnh cùng với yêu cầu qtwebkit
- 2. Tiêu đề yêu cầu HTTP tùy chỉnh trong HTML
- 3. Đọc tiêu đề tùy chỉnh yêu cầu HTTP
- 4. Tắt yêu cầu OPTION preflight khi gửi yêu cầu miền chéo với tiêu đề HTTP tùy chỉnh
- 5. Gửi tiêu đề yêu cầu HTTP tùy chỉnh bằng thẻ âm thanh HTML5
- 6. Yêu cầu mở trong Safari với tiêu đề HTTP tùy chỉnh
- 7. Tiêu đề yêu cầu HTTP: Biến UserAgent
- 8. Gửi Tiêu đề HTTP với Yêu cầu Web HTTP để Xác thực NTLM
- 9. Có thể gửi tiêu đề tùy chỉnh với yêu cầu XHR ("Ajax") không?
- 10. Yêu cầu tệp có tiêu đề tùy chỉnh
- 11. Làm cách nào để đặt tiêu đề trong http nhận yêu cầu?
- 12. Chuyển tiêu đề HTTP tùy chỉnh cho các yêu cầu RESTful
- 13. Yêu cầu urllib2 sử dụng DNS tùy chỉnh
- 14. Làm cách nào để đặt các tiêu đề yêu cầu tùy chỉnh bằng curl và PHP?
- 15. Thực hiện yêu cầu tiêu đề HTTP với netcat
- 16. Cách xác định "tiêu đề yêu cầu http" trong OpenURI
- 17. URL yêu cầu HTTP có phải là một phần của tiêu đề yêu cầu HTTP không?
- 18. Làm thế nào để gửi yêu cầu HTTP trong java?
- 19. Việc gửi yêu cầu tùy chỉnh marshallers để JAXRSClientFactory
- 20. Symfony2: gửi yêu cầu HTTP
- 21. Tiêu đề HTTP tùy chỉnh ở Django
- 22. Cách gửi tiêu đề HTTP trong java
- 23. Tiêu đề tùy chỉnh với pycurl
- 24. Thêm tiêu đề tùy chỉnh vào yêu cầu TIdHttp, giá trị tiêu đề có dấu phẩy
- 25. cookie phiên vượt qua trong tiêu đề http với pyll urllib2?
- 26. Gửi yêu cầu http trong node.js
- 27. Làm cách nào để truy cập các trường tiêu đề yêu cầu HTTP qua JavaScript?
- 28. NSURLYêu cầu đặt tiêu đề HTTP
- 29. Tiêu đề phạm vi Http yêu cầu toàn bộ tệp
- 30. Có tiện ích mở rộng của Google Chrome để chèn tiêu đề HTTP tùy chỉnh trong mỗi yêu cầu không?