Nice programing

HTTP 요청에서 urllib2로 사용자 정의 헤더를 보내려면 어떻게해야합니까?

nicepro 2020. 11. 23. 19:59
반응형

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()

참고 URL : https://stackoverflow.com/questions/385262/how-do-i-send-a-custom-header-with-urllib2-in-a-http-request

반응형