2016-03-08 2 views
0

Я выборки Gravatar, используя следующий методКак недействительные адреса с UrlFetch

def fetch_gravatar(email): 
    incorrect_base_url = 'http://ww.grvatar.com/avatar/' 
    correct_base_url = 'http://www.gravatar.com/avatar/' 
    gravatar_url = correct_base_url + hashlib.md5(email).hexdigest() + '?' 
    gravatar_url2 = incorrect_base_url + hashlib.md5(email).hexdigest() + '?' 
    size = str(feconf.GRAVATAR_SIZE_PX) 
    gravatar_url += urllib.urlencode({'d':'identicon', 's':size}) 
    result = urlfetch.fetch(gravatar_url, headers={'Content-Type': 'image/png'}) 
    if result.status_code == 200: 
     encoded_body = base64.b64encode(result.content) 
     print result.status_code 
     return 'data:{};base64,{}'.format('image/png', encoded_body) 
    else: 
     print result.status_code 
     return '/images/avatar/user_blue_72px.png' 

Независимо от того, называют ли я urlfetch с gravatar_url или gravatar_url2 он печатает result.status_code все дни, чтобы быть 200. Как я могу проверить мой URL хорош или нет?

ответ

1

Этот url http://ww.grvatar.com/avatar/ возвращает HTTP 302 (перенаправление). Скорее всего, вам нужно установить follow_redirect = False при вызове urlfetch 1

Смежные вопросы