2014-12-15 4 views

답변

4

response history을 확인해야합니다. 참고 : 일부 사이트에서는 리디렉션을 사용하여 다른 페이지를 표시하지 않습니다. status_code가 나타내는 반응은, this example를 참조하면

>>> r = requests.head('http://github.com', allow_redirects=True) 
>>> r.url 
'https://github.com/' 
>>> r.history 
[<Response [301]>] 

또한 리디렉션을 방지하고 확인할 수 있습니다

>>> r = requests.get('http://github.com', allow_redirects=False) 
>>> r.status_code 
301 
>>> r.history 
[] 
+0

화려한, 감사! – yayu

0

이것은 내가 내 프로젝트에서 사용하고있는 방법입니다 : http://www.elfinite.com/

def get_last_redirected_url(self, url): 
    """ 
    """ 
    try: 
     response = requests.get(url) 
     if response.history: 
      # Request was redirected 
      return response.url 
     else: 
      # Request was not redirected" 
      return url 
    except Exception as e: 
     return False 
     pass 
관련 문제