반응형
HTTP 요청에서 urllib2로 사용자 정의 헤더를 보내려면 어떻게해야합니까?
urllib2.urlopen (..)을 사용할 때 내 요청에 사용자 지정 "Accept"헤더를 보내고 싶습니다. 어떻게하나요?
좀 빠지는. Request객체 생성은 실제로 요청을 보내지 않으며 Request 객체에는 Read()메서드 가 없습니다 . (또한 : read()소문자입니다.) Request첫 번째 인수로 urlopen()를 전달하면 응답이 제공됩니다.
import urllib2
request = urllib2.Request("http://www.google.com", headers={"Accept" : "text/html"})
contents = urllib2.urlopen(request).read()
나는 일반적으로 다음을 사용합니다.
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("https://thewebsite.com", headers=request_headers)
response = urllib2.urlopen(request).read()
print(response)
이미 언급 한 다른 솔루션 외에도 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()
반응형
'Nice programing' 카테고리의 다른 글
| Gradle 동기화 실패 : 빌드 도구 버전 24.0.0 rc1을 찾지 못했습니다. (0) | 2020.11.23 |
|---|---|
| kubectl 로그-연속 (0) | 2020.11.23 |
| StringWriter 또는 StringBuilder (0) | 2020.11.23 |
| 쉼표로 구분 된 목록에 대한 정규식 (0) | 2020.11.23 |
| Objective-C에서 respondsToSelector를 사용하는 경우 (0) | 2020.11.23 |