我想在使用urllib2.urlopen(..)時在我的請求中發送自定義「Accept」標頭。我怎麼做?如何在HTTP請求中使用urllib2發送自定義標題?
53
A
回答
113
不完全。創建一個Request
對象實際上並不發送請求,並且請求對象沒有Read()
方法。 (另外:read()
是小寫字母。)您只需將Request
作爲第一個參數傳遞給urlopen()
即可,並且會給予您答覆。
import urllib2
request = urllib2.Request("http://www.google.com", headers={"Accept" : "text/html"})
contents = urllib2.urlopen(request).read()
13
我通常使用:
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
除了已經提到的其他解決方案,你可以使用add_header
方法。
因此,例如提供PY @pantsgolem將是:
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()
相關問題
- 1. 如何使用urllib2發送數據和自定義標題
- 2. 使用cURL或socket_create發送自定義HTTP POST請求
- 3. 如何在Swagger UI中使用請求發送自定義標頭?
- 4. flash.media.Sound不發送HTTP請求標題
- 5. 在HTTP請求中定義自定義用戶代理標頭?
- 6. 如何添加自定義標題請求與cljs-http
- 7. 如何設置自定義HTTP請求標題
- 8. 在目標c中發送HTTP請求
- 9. 如何在Python中發送HTTP標頭請求而不是HTTP
- 10. 發送一個自定義標題以及qtwebkit請求
- 11. Angular 4:用http請求發送自定義頭文件
- 12. 如何在發佈請求時在HTTP標頭中設置自定義變量
- 13. 使用自定義HTTP標頭髮送跨域請求時禁用預檢選項請求
- 14. 是否可以使用XHR(「Ajax」請求)發送自定義標題?
- 15. 發送OAuth 2.0 POST請求與自定義標題+屬性值使用C#Inoreader
- 16. 發送帶有HTML5音頻標籤的自定義HTTP請求標頭
- 17. 自定義HTTP請求頭
- 18. urllib2可以發出HTTP/1.1請求嗎?
- 19. 發送HTTP請求
- 20. 如何在發送用戶請求之前注入HTTP請求
- 21. 如何在http中發送數組請求請求
- 22. 如何使用REBOL發送帶有自定義標題的HTTP帖子
- 23. 在Angular2中發送帶有標題的HTTP請求
- 24. 如何使用WinInet API在Delphi中發送HTTP POST請求
- 25. 如何使用php在HTTP POST請求中發送參數?
- 26. 用swift發送http請求
- 27. 如何使用指定的端口號發送Java HTTP請求
- 28. 獲取的urllib2 http請求
- 29. 在swift中發送自定義HTTP頭
- 30. 如何使用ionic2 native http插件發送HTTP PUT請求?