【问题标题】:Unshorten the URL without downloading whole page in python在python中不下载整个页面的情况下取消缩短URL
【发布时间】:2012-02-10 12:24:07
【问题描述】:

我想取消缩短 URL 以获得真实地址。在某些情况下有不止一个重定向。我曾尝试使用 urllib2,但它似乎正在发出 GET 请求,这会耗费时间和带宽。我只想获取标题,以便获得最终 URL,而无需获取该页面的整个正文/数据。 谢谢

【问题讨论】:

    标签: python


    【解决方案1】:

    您需要执行 HTTP HEAD 请求才能仅获取标头。

    第二个答案展示了如何使用 urllib 执行 HEAD 请求。 How do you send a HEAD HTTP request in Python 2?

    【讨论】:

    • @Pranay:另请参阅上述链接中的urllib2 答案。
    • 我已经尝试过这里给出的stackoverflow.com/questions/4201062/…,但它不起作用。示例地址“nyti.ms/pvUj8c”它返回错误,如 socket.error: [Errno 111] Connection denied
    • @Rangrag :您的解决方案似乎也下载了整个页面!
    • import httplib import urlparse def unshorten_url(url): parsed = urlparse.urlparse(url) h = httplib.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
    猜你喜欢
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 2012-08-05
    • 2016-10-28
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多