取消python 3中的url

时间:2018-12-11 07:42:25

标签: python python-3.x url urllib3 http.client

我正在使用此代码来取消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

1 个答案:

答案 0 :(得分:1)

在python3中,response.status/100 == 3仅对于状态码300为True。对于任何其他3xx代码,其为False。使用楼层划分代替response.status//100 == 3或其他方法来测试重定向代码。

编辑:看来您正在使用SO question posted by @Aybars中的代码,并且在代码段的顶部有注释,说明在python3中的操作。另外,很高兴提到代码的源代码。