当前位置: 首页 > 面试题库 >

为什么在python中出现此错误?(httplib)

陈正业
2023-03-14
问题内容
if theurl.startswith("http://"): theurl = theurl[7:]
    head = theurl[:theurl.find('/')]
    tail = theurl[theurl.find('/'):]
response_code = 0
import httplib
conn = httplib.HTTPConnection(head)
conn.request("HEAD",tail)
res = conn.getresponse()
response_code = int(res.status)

http://www.garageband.com/mp3cat/.UZCKbS6N4qk/01_Saraenglish.mp3
Traceback (most recent call last):
  File "check_data_404.py", line 51, in <module>
    run()
  File "check_data_404.py", line 35, in run
    res = conn.getresponse()
  File "/usr/lib/python2.6/httplib.py", line 950, in getresponse
    response.begin()
  File "/usr/lib/python2.6/httplib.py", line 390, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.6/httplib.py", line 354, in _read_status
    raise BadStatusLine(line)
httplib.BadStatusLine

有人知道什么是“不良状态线”吗?

编辑:我尝试了许多服务器,许多URL的,我仍然收到此错误?


问题答案:

从httplib(Python
2)
的文档(在Python
3中
称为http.client)中:

例外 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)

我想只是仔细检查所有内容,然后重试?



 类似资料:
  • 问题内容: 我正在尝试使用Minikube,Docker Registry和演示节点项目创建本地Kubernetes部署。 我做的第一件事是安装Docker v1.12.3,然后是Minikube v0.12.2。 然后我通过运行此命令创建了一个Docker Registry容器(通过本教程,仅运行下面的第一个命令) 接下来,我运行此minikube命令以创建本地kubernetes集群: 我的项

  • 问题内容: 我正在尝试使用DB2运行一个简单的SQL语句,并且遇到了一些问题。我想在txt / db2文件中有一个脚本,并让引擎处理所有命令 这是脚本: 当我运行db2 -f / pathtofile时,我得到: 我究竟做错了什么?我的脚本有问题吗?另外,为什么没有“;”也能正常工作 我的陈述结尾处的终止符? 谢谢, 问题答案: 可能会有帮助, http://www.uc.edu/R/r25/do

  • 问题内容: 我正在执行以下AJAX调用: 而且没有收到预期的警报消息。相反,Firebug说我收到“未实现501”。 为什么?我需要怎么做才能解决此问题? 如果我转到Firebug中与AJAX调用相对应的URL,则会下载一个JSON文件,其中包含预期的数据。 我注意到的一件事是,萤火虫说的是OPTIONS而不是GET: 替代文字http://grab.by/grabs/b1a13d92a4fc69

  • 错误:第 1 行的解析错误:函数搜索(sour ^ 期望“字符串”、“数字”、“空”、“真”、“假”、“{”、“[”,得到“未定义” 代码:

  • 问题内容: 在CentOS 5 linux上使用一些基本的Java应用程序,我已设置为指向其中包含和 我有文件 和 当我运行,并在一切完美 但是,当我运行从内上我得到一个文件未找到错误,特别是 为什么会这样呢? 感谢所有帮助 问题答案: 您不应将 类路径 设置为指向您的JDK bin目录-而是应该是 PATH 环境变量,它与类路径的作用不同。(classpath定义了包含已编译的Java .cla

  • 我实现了以下REST调用: 也是一个提供和使用application/x-protobuf的提供者类: 我的pom。xml看起来像: 我的小部件。原型: 选项java_package=“example”;选项java\u outer\u classname=“WidgetsProtoc”; 对于http://localhost:8080/RESTfulExample/widgets我得到以下错误消