как проверить, следует ли urllib2 перенаправлению?

Я написал эту функцию:

def download_mp3(url,name):
        opener1 = urllib2.build_opener()
        page1 = opener1.open(url)
        mp3 = page1.read()
        filename = name+'.mp3'
        fout = open(filename, 'wb')
        fout.write(mp3)
        fout.close()

Эта функция принимает URL-адрес и имя как строку. Затем загрузит и сохранит mp3 с URL-адреса с именем переменной.

URL имеет вид http: //site/download.php? Id = xxxx где xxxx - это идентификатор mp3

, если этот идентификатор не существует, сайт перенаправляет меня на другая страница.

Итак, вопрос: как я могу проверить, существует ли этот идентификатор? Я попытался проверить, существует ли URL-адрес с помощью такой функции:

def checkUrl(url):
    p = urlparse(url)
    conn = httplib.HTTPConnection(p.netloc)
    conn.request('HEAD', p.path)
    resp = conn.getresponse()
    return resp.status < 400

Но, похоже, он не работает ..

Спасибо

6
задан gaggina 7 December 2011 в 11:29
поделиться