programing

Python에서 Requests 라이브러리를 사용하여 "사용자-에이전트" 전송

newsource 2022. 9. 19. 23:45

Python에서 Requests 라이브러리를 사용하여 "사용자-에이전트" 전송

값을 보내고 싶다"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.example'  # 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 = requests.Session()
session.headers.update({'User-Agent': 'Custom user agent'})

session.get('https://httpbin.org/headers')

기본적으로는 세션에서 쿠키도 관리합니다.이것을 무효로 하는 경우는, 다음의 질문을 참조해 주세요.

브라우저처럼 요청을 보냅니다.

import requests

url = 'https://Your-url'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'}

response= requests.get(url.strip(), headers=headers, timeout=10)

다음과 같이 간단하게 실행할 수 있습니다.

import requests

url = requests.post("URL", headers={"FUser":"your username","FPass":"your password","user-agent": "your custom text for the user agent "})

언급URL : https://stackoverflow.com/questions/10606133/sending-user-agent-using-requests-library-in-python