首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:将这些tinyurl (bit.ly、TinyURL、ow.ly)转换为完整的URLS

Python:将这些tinyurl (bit.ly、TinyURL、ow.ly)转换为完整的URLS
EN

Stack Overflow用户
提问于 2009-04-14 16:14:04
回答 1查看 7.9K关注 0票数 13

我正在学习python,对如何做到这一点很感兴趣。在搜索答案的过程中,我偶然发现了这个服务:http://www.longurlplease.com

例如:

http://bit.ly/rgCbf可以转换为:

http://webdesignledger.com/freebies/the-best-social-media-icons-all-in-one-place

我用Firefox做了一些检查,发现原始的url不在标题中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-04-14 16:17:57

进入urllib2,它提供了执行此操作的最简单方法:

代码语言:javascript
复制
>>> import urllib2
>>> fp = urllib2.urlopen('http://bit.ly/rgCbf')
>>> fp.geturl()
'http://webdesignledger.com/freebies/the-best-social-media-icons-all-in-one-place'

但是,为了便于参考,请注意,httplib也可以实现这一点

代码语言:javascript
复制
>>> import httplib
>>> conn = httplib.HTTPConnection('bit.ly')
>>> conn.request('HEAD', '/rgCbf')
>>> response = conn.getresponse()
>>> response.getheader('location')
'http://webdesignledger.com/freebies/the-best-social-media-icons-all-in-one-place'

对于PycURL,尽管我不确定这是否是使用它的最好方法:

代码语言:javascript
复制
>>> import pycurl
>>> conn = pycurl.Curl()
>>> conn.setopt(pycurl.URL, "http://bit.ly/rgCbf")
>>> conn.setopt(pycurl.FOLLOWLOCATION, 1)
>>> conn.setopt(pycurl.CUSTOMREQUEST, 'HEAD')
>>> conn.setopt(pycurl.NOBODY, True)
>>> conn.perform()
>>> conn.getinfo(pycurl.EFFECTIVE_URL)
'http://webdesignledger.com/freebies/the-best-social-media-icons-all-in-one-place'
票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/748324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档