>백엔드 개발 >파이썬 튜토리얼 >Python 요청 라이브러리를 사용하여 리디렉션된 URL을 검색하는 방법은 무엇입니까?

Python 요청 라이브러리를 사용하여 리디렉션된 URL을 검색하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-16 11:38:03351검색

How to retrieve redirected URLs using the Python Requests library?

Python 요청 라이브러리를 사용하여 리디렉션된 URL 검색

웹 스크래핑 및 자동화 영역에서는 발생하는 리디렉션을 추적하는 것이 필요한 경우가 많습니다. 웹페이지에 접속할 때. Python 요청 라이브러리는 리디렉션 탐색 기능을 포함하여 HTTP 요청 관리를 위한 포괄적인 기능을 제공합니다. 이 문서의 목적은 커뮤니티에서 제기된 쿼리를 해결하면서 요청 라이브러리를 사용하여 리디렉션된 URL을 검색하는 방법을 명확히 하는 것입니다.

문제:

스크립트 내에서 허용_리디렉션 =True 플래그는 자동으로 리디렉션을 따르도록 설정됩니다. 그러나 사용자는 요청이 리디렉션되는 최종 URL을 확인하려고 합니다. 질문이 생깁니다. 이 정보를 프로그래밍 방식으로 어떻게 얻을 수 있습니까?

해결책:

해결책은 요청에서 제공하는 response.history 속성을 활용하는 데 있습니다. 이 속성은 최종 목적지로 이어지는 전체 리디렉션 경로를 포함하는 응답 목록을 저장합니다. 최종 URL에 액세스하려면 response.url 속성을 사용할 수 있습니다.

다음은 프로세스를 보여주는 코드 조각입니다.

response = requests.get(someurl)
if response.history:
    print("Request was redirected")
    for resp in response.history:
        print(resp.status_code, resp.url)
    print("Final destination:")
    print(response.status_code, response.url)
else:
    print("Request was not redirected")

데모:

다양한 작업을 수행하도록 구성된 웹사이트에 요청이 이루어지는 다음 예를 생각해 보세요. 리디렉션:

import requests
response = requests.get('http://httpbin.org/redirect/3')
for resp in response.history:
    print(resp.status_code, resp.url)
print(response.status_code, response.url)

출력:

302 http://httpbin.org/redirect/3
302 http://httpbin.org/redirect/2
302 http://httpbin.org/redirect/1
200 http://httpbin.org/get

출력에서 알 수 있듯이 코드는 최종 대상뿐만 아니라 각 리디렉션의 상태 코드와 URL을 성공적으로 기록합니다.

위 내용은 Python 요청 라이브러리를 사용하여 리디렉션된 URL을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.