Python 요청 라이브러리를 사용하여 리디렉션 후 새 URL 결정
Python Requests 라이브러리는 HTTP 요청 처리에 탁월하지만 리디렉션 메커니즘을 이해하는 것이 중요합니다. 최종 랜딩페이지 접속을 위해 Allow_redirects=True를 설정하면 라이브러리는 리디렉션 체인을 통해 요청을 따릅니다. 그러나 새로운 리디렉션된 URL을 얻으려면 요청 기록을 더 자세히 조사해야 합니다.
response.history 속성은 요청 중에 발생한 모든 리디렉션 응답의 기록을 보유합니다. 기록 목록의 각 응답에는 상태 코드와 리디렉션된 URL이 포함되어 있습니다. 목록의 마지막 항목은 response.url에 저장된 최종 대상을 나타냅니다.
이 정보에 액세스하려면 다음 코드를 사용하세요.
import requests response = requests.get(someurl, allow_redirects=True) 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")
다음 예를 고려하세요.
>>> response = requests.get('http://httpbin.org/redirect/3') >>> response.history (<Response [302]>, <Response [302]>, <Response [302]>) >>> for resp in response.history: ... print(resp.status_code, resp.url) ... 302 http://httpbin.org/redirect/3 302 http://httpbin.org/redirect/2 302 http://httpbin.org/redirect/1 >>> print(response.status_code, response.url) 200 http://httpbin.org/get
이 데모에서는 리디렉션 체인을 따라가며 각 리디렉션의 상태 코드와 URL을 제시하고 최종 목적지를 표시하는 과정을 보여줍니다. response.history를 활용하면 요청이 리디렉션된 후 새 URL을 쉽게 추출할 수 있습니다.
위 내용은 Python 요청을 사용하여 리디렉션한 후 최종 URL을 어떻게 확인합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!