Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python:打印有关BadStatusLine错误的信息_Python_Httplib - Fatal编程技术网

python:打印有关BadStatusLine错误的信息

python:打印有关BadStatusLine错误的信息,python,httplib,Python,Httplib,在执行下面的python脚本之后,我得到了一个BadStatusLine。如何打印BadStatusLine的详细信息 #!/usr/bin/python import urllib import urllib2 import httplib try: # NoActiveDevsPerQtr request = urllib2.Request('http://127.0.0.1:8090') request.add_header('Accept',

在执行下面的python脚本之后,我得到了一个BadStatusLine。如何打印BadStatusLine的详细信息

#!/usr/bin/python

import urllib
import urllib2
import httplib


try:
    # NoActiveDevsPerQtr
    request = urllib2.Request('http://127.0.0.1:8090')

    request.add_header('Accept',        'text/csv')
    request.add_header('User-Agent',    'python-script')

    request.add_data("""
        <? xml version="1.0"?>
        <log_query>
            <querytype>ListPerQtr</querytype>
            <year>2014</year>
            <quarter>3</quarter>
        </log_query>
    """)


    response = urllib2.urlopen(request)
    content  = response.read()
    print content

except httplib.BadStatusLine as e:
    print e
#/usr/bin/python
导入URL库
导入urllib2
导入httplib
尝试:
#无激活的VSPERQTR
请求=urllib2。请求('http://127.0.0.1:8090')
请求。添加标题(“接受”、“文本/csv”)
添加标题('User-Agent','python脚本')
请求。添加数据(“”)
ListPerQtr
2014
3.
""")
response=urllib2.urlopen(请求)
content=response.read()
印刷内容
除httplib.BadStatusLine作为e外:
打印e
打印e是什么也不打印

根据请求,删除except httplib.BadStatusLine时引发的实际错误如下:

Traceback (most recent call last):
File "./IQueryTests.py", line 25, in <module>
response = urllib2.urlopen(request)
File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.6/urllib2.py", line 1190, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib64/python2.6/urllib2.py", line 1163, in do_open
r = h.getresponse()
File "/usr/lib64/python2.6/httplib.py", line 990, in getresponse
response.begin()
File "/usr/lib64/python2.6/httplib.py", line 391, in begin
version, status, reason = self._read_status()
File "/usr/lib64/python2.6/httplib.py", line 355, in _read_status
raise BadStatusLine(line)
httplib.BadStatusLine
回溯(最近一次呼叫最后一次):
文件“/IQueryTests.py”,第25行,在
response=urllib2.urlopen(请求)
文件“/usr/lib64/python2.6/urllib2.py”,urlopen中的第126行
return\u opener.open(url、数据、超时)
文件“/usr/lib64/python2.6/urllib2.py”,第391行,打开
响应=自身打开(请求,数据)
文件“/usr/lib64/python2.6/urllib2.py”,第409行,打开
"开放",
文件“/usr/lib64/python2.6/urllib2.py”,第369行,在调用链中
结果=func(*args)
文件“/usr/lib64/python2.6/urllib2.py”,第1190行,在http\u open中
返回self.do_open(httplib.HTTPConnection,req)
文件“/usr/lib64/python2.6/urllib2.py”,第1163行,打开
r=h.getresponse()
文件“/usr/lib64/python2.6/httplib.py”,第990行,在getresponse中
response.begin()
文件“/usr/lib64/python2.6/httplib.py”,第391行,在begin中
版本、状态、原因=self.\u读取\u状态()
文件“/usr/lib64/python2.6/httplib.py”,第355行,处于读取状态
升起状态行(行)
httplib.BadStatusLine
源('httplib.py')在一个引发“BadStatusLine”的案例中这样说:

        if not line:
        # Presumably, the server closed the connection before
        # sending a valid response.
        raise BadStatusLine(line)
也许您遇到了这种情况,这意味着行为null或空

资料来源:


这看起来像是一个疲惫的程序员决定;最好定义另一个异常,例如“NoStatusLine”

您能显示抛出的实际错误吗?可能吗?当前(截至2019年9月)版本的http.client现在在状态行格式无效时引发
BadStatusLine
。它希望看到
HTTP/[]
如果没有收到状态行,它现在会引发
RemoteDisconnected
,并显示消息“远程端关闭连接,无响应”