0

bit.ly と twitter で既に短縮されている URL を取得しようとしています。私はすでに試しました:

import urllib.request
r = urllib.request.urlopen(url)
r.url

また、requestshttplib2などのライブラリを使用します。

t.coリンクの最終的な宛先が必要な場合、これらのソリューションはすべて機能しますが、中間の短縮機能が必要です.HEADリクエストを介して取得できますが、Python 3 http.clientを動作させることはできません場所を取得するために。何か案は?

4

2 に答える 2

2
>>> c = http.client.HTTPConnection('t.co')
>>> c.request('GET', '/7fGoazTYpc')          # or HEAD, but body is empty anyway
>>> r = c.getresponse()
>>> r.getheader('Location')
'http://bit.ly/900913'
于 2013-02-22T16:15:58.237 に答える
1

requests自動的にリダイレクトに従いますが、history属性を介してすべての URL にアクセスできます。

>>> r = requests.get('http://bit.ly/UG4ECS')
>>> r.url
u'http://www.fontsquirrel.com/fonts/exo'
>>> r.history
(<Response [301]>,)
>>> r.history[0].url
u'http://bit.ly/UG4ECS'
>>> 
于 2013-02-22T16:14:17.010 に答える