Почему я получаю эту ошибку в Python? (httplib)

завершенный синтаксис зависит от механизма базы данных, с которым Вы работаете:

Для 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 будет ПУСТОЙ УКАЗАТЕЛЬ .

26
задан TIMEX 20 November 2009 в 03:01
поделиться

3 ответа

Из документации для 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)

Думаю, просто перепроверьте все и попробуйте еще раз?

30
ответ дан 28 November 2019 в 06:12
поделиться

Вы используете прокси?

Если да, возможно, прокси-сервер отклоняет запросы HEAD .

Возникает ли у вас та же проблема, если вы отправляете Запрос GET ? Если GET работает, я подозреваю, что на вашем пути есть прокси.

Вы можете увидеть, что происходит более подробно, позвонив conn.set_debuglevel (1) до вызов conn.request (...) .

7
ответ дан 28 November 2019 в 06:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: