завершенный синтаксис зависит от механизма базы данных, с которым Вы работаете:
Для SQL Server:
CASE case-expression
WHEN when-expression-1 THEN value-1
[ WHEN when-expression-n THEN value-n ... ]
[ ELSE else-value ]
END
или:
CASE
WHEN boolean-when-expression-1 THEN value-1
[ WHEN boolean-when-expression-n THEN value-n ... ]
[ ELSE else-value ]
END
выражения, и т.д.:
case-expression - something that produces a value
when-expression-x - something that is compared against the case-expression
value-1 - the result of the CASE statement if:
the when-expression == case-expression
OR the boolean-when-expression == TRUE
boolean-when-exp.. - something that produces a TRUE/FALSE answer
Ссылка: СЛУЧАЙ (Transact-SQL)
Также примечание, что упорядочивание, КОГДА операторы важно. Можно легко записать нескольким, КОГДА пункты, которые накладываются, и первый, который соответствия используются .
Примечание : Если никакое Выражение else не будет определено, и никакое КОГДА-УСЛОВИЕ соответствия не найдено, значение выражения CASE будет ПУСТОЙ УКАЗАТЕЛЬ .
Из документации для httplib (Python 2) (называется http.client в Python 3 ):
исключение
httplib.
BadStatusLine
: ( исключениеhttp.client.
BadStatusLine
:)Подкласс
HTTPException
.Вызывается, если сервер отвечает кодом состояния HTTP, который мы не понимаем.
Я запустил тот же код и не получил ошибки:
>>> theurl = 'http://www.garageband.com/mp3cat/.UZCKbS6N4qk/01_Saraenglish.mp3'
>>> if theurl.startswith("http://"):
... theurl = theurl[7:]
... head = theurl[:theurl.find('/')]
... tail = theurl[theurl.find('/'):]
...
>>> head
'www.garageband.com'
>>> tail
'/mp3cat/.UZCKbS6N4qk/01_Saraenglish.mp3'
>>> response_code = 0
>>> import httplib
>>> conn = httplib.HTTPConnection(head)
>>> conn.request("HEAD", tail)
>>> res = conn.getresponse()
>>> res.status
302
>>> response_code = int(res.status)
Думаю, просто перепроверьте все и попробуйте еще раз?
Стандартная библиотека Python: httplib (Python 2) (в Python 3 называется http.client):
исключение httplib.BadStatusLine
Подкласс HTTPException. Возникает, если сервер отвечает кодом состояния HTTP, который мы не понимаем.
Вы используете прокси?
Если да, возможно, прокси-сервер отклоняет запросы HEAD
.
Возникает ли у вас та же проблема, если вы отправляете Запрос GET
? Если GET
работает, я подозреваю, что на вашем пути есть прокси.
Вы можете увидеть, что происходит более подробно, позвонив conn.set_debuglevel (1)
до вызов conn.request (...)
.