-1

我正在使用此代码在 python 3 中取消缩短 url,但代码按原样返回 url(缩短),那么我应该怎么做才能使其不缩短?

import requests
import http.client
import urllib.parse as urlparse   

def unshortenurl(url):
    parsed = urlparse.urlparse(url) 
    h = http.client.HTTPConnection(parsed.netloc) 
    h.request('HEAD', parsed.path) 
    response = h.getresponse() 
    if response.status/100 == 3 and response.getheader('Location'):
        return response.getheader('Location') 
    else: return url
4

1 回答 1

1

在 python3response.status/100 == 3True仅适用于状态代码 300。对于任何其他 3xx 代码,它将是False. 使用地板除法response.status//100 == 3或其他方式来测试重定向代码。

编辑:看起来您正在使用@Aybars 发布的SO问题中的代码,并且片段顶部有评论在python3中做什么。此外,最好能提及代码的来源。

于 2018-12-11T07:48:53.247 回答