Https주소로 접속했을때 redirect된 주소를 알고 싶습니다. - SSL: CERTIFICATE_VERIFY_FAILED에러


https주소 목록이 300개 정도 있습니다. 접속하면 바로 다른 주소로 redirect가 되는데 그 주소를 어떻게 알 수가 있을까요?

http의 경우 다음과 같이 하면 된다고 하는데

import urllib2

def get_redirected_url(url):
    opener = urllib2.build_opener(urllib2.HTTPRedirectHandler)
    request = opener.open(url)
    return request.url

print get_redirected_url("http://주소")

https라서 urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (와 같은 에러가 발생합니다.

  • 2016년 05월 25일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

조회수 341


1 답변


자답입니다.

import urllib
import ssl

def get_redirected_url(url):
    context = ssl._create_unverified_context()
    return urllib.urlopen(url, context=context)

print get_redirected_url("https://주소").geturl()

이렇게 하니까 되네요.

  • 2016년 05월 25일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close