반응형
Python에서 Requests 라이브러리를 사용하여 "User-agent"보내기
"User-agent"
Python Requests를 사용하여 웹 페이지를 요청하는 동안 값을 보내려고합니다 . 아래 코드와 같이 헤더의 일부로 이것을 보내도 괜찮은지 확실하지 않습니다.
debug = {'verbose': sys.stderr}
user_agent = {'User-agent': 'Mozilla/5.0'}
response = requests.get(url, headers = user_agent, config=debug)
디버그 정보에 요청 중에 전송되는 헤더가 표시되지 않습니다.
이 정보를 헤더로 보내도 되나요? 그렇지 않은 경우 어떻게 보낼 수 있습니까?
는 user-agent
헤더 필드로 지정해야합니다.
다음은 HTTP 헤더 필드 목록 이며을 포함하는 요청 특정 필드에 관심이있을 것입니다 User-Agent
.
요청 v2.13 이상을 사용하는 경우
원하는 것을 수행하는 가장 간단한 방법은 사전을 만들고 헤더를 직접 지정하는 것입니다.
import requests
url = 'SOME URL'
headers = {
'User-Agent': 'My User Agent 1.0',
'From': 'youremail@domain.com' # This is another valid field
}
response = requests.get(url, headers=headers)
요청 v2.12.x 및 이전 버전을 사용중인 경우
이전 버전의 requests
클로버 기본 헤더는 기본 헤더를 유지 한 후 자신의 헤더를 추가하기 위해 다음을 수행하려고합니다.
import requests
url = 'SOME URL'
# Get a copy of the default headers that requests would use
headers = requests.utils.default_headers()
# Update the headers with your custom ones
# You don't have to worry about case-sensitivity with
# the dictionary keys, because default_headers uses a custom
# CaseInsensitiveDict implementation within requests' source code.
headers.update(
{
'User-Agent': 'My User Agent 1.0',
}
)
response = requests.get(url, headers=headers)
session 을 사용하는 것이 더 편리합니다 .이 방법으로 매번 헤더를 설정할 필요가 없습니다.
session = requests.Session()
session.headers.update({'User-Agent': 'Custom user agent'})
session.get('https://httpbin.org/headers')
기본적으로 세션은 쿠키를 관리합니다. 사용하지 않으려면 이 질문을 참조하십시오 .
참고 URL : https://stackoverflow.com/questions/10606133/sending-user-agent-using-requests-library-in-python
반응형
'Programing' 카테고리의 다른 글
Mercurial Repository와 Git 상호 운용성 (0) | 2020.05.12 |
---|---|
문자열에서 임의의 네이티브 명령을 어떻게 실행합니까? (0) | 2020.05.12 |
Curl을 통해 파일에 지정된 데이터로 POST 요청 보내기 (0) | 2020.05.12 |
여러 줄로 된 flexbox 레이아웃에서 줄 바꿈을 지정하는 방법은 무엇입니까? (0) | 2020.05.12 |
백 슬래시로 쉘 명령을 시작하는 이유는 무엇입니까? (0) | 2020.05.12 |