Я использовал VisualSVN, пока Анк не совершил нападки 2.0, и с тех пор, я отказался от VisualSVN. Анк превзошел VisualSVN в функциональности в моем уме, и весь 1.x, перфекта и проблем интеграции не стало.
Используйте urllib.getUrl ()
редактировать: Извините, я давно этого не делал:
import urllib
urllib.urlopen(url).geturl()
Например:
>>> f = urllib2.urlopen("http://tinyurl.com/oex2e")
>>> f.geturl()
'http://www.amazon.com/All-Creatures-Great-Small-Collection/dp/B00006G8FI'
>>>
Вы должны прочитать ответ, понять, что вы получили 302 (НАЙДЕН), и проанализировать реальный URL-адрес из заголовков ответа, а затем получить ресурс, используя новый URI.
Марк Пилигрим советует использовать httplib2 в « Dive Into Python3 », поскольку он обрабатывает многие вещи (включая перенаправления) более разумным способом.
>>> import httplib2
>>> h = httplib2.Http()
>>> response, content = h.request("http://garagaeband.com/3252243")
>>> response["content-location"]
"http://garageband.com/michael_jackson4.mp3"
Я решил ответ.
import urllib2
req = urllib2.Request('http://' + theurl)
opener = urllib2.build_opener()
f = opener.open(req)
print 'the real url is......' + f .url