【发布时间】:2017-10-13 16:22:45
【问题描述】:
我是 Python 编程新手,曾尝试研究我的问题,但目前还没有找到解决方案。我希望有人可以提供帮助。
我有一个脚本可以对用于激活或停用网络中继开关的 IP 地址进行 http get 调用。代码的相对部分如下所示:
import requests
r = requests.get('http://192.168.1.100/state.xml?relayState=1&noReply=0')
上面成功打开了网络中继开关,但是来自网络中继的响应导致如下所示的一些异常消息,并且脚本停止执行。为了我的脚本的目的,我不需要处理任何响应,但如果我需要为了使脚本正常运行,我会的。我的预感是问题围绕使用 xml 版本 1.0 而不是 1.1 的 Web 中继开关。我还没有找到强制请求使用 1.0 的方法。我正在使用 Python 3.6.1
Traceback (most recent call last):
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
chunked=chunked)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 386, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 382, in _make_request
httplib_response = conn.getresponse()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1331, in getresponse
response.begin()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 279, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: <?xml version='1.0' encoding='utf-8'?>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\adapters.py", line 423, in send
timeout=timeout
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 649, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\util\retry.py", line 347, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\packages\six.py", line 685, in reraise
raise value.with_traceback(tb)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
chunked=chunked)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 386, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 382, in _make_request
httplib_response = conn.getresponse()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1331, in getresponse
response.begin()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 279, in _read_status
raise BadStatusLine(line)
requests.packages.urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine("<?xml version='1.0' encoding='utf-8'?>\r\n",))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:/Software/Python/test3.py", line 3, in <module>
r = requests.get('http://192.168.1.100/state.xml?relayState=1')
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\requests\adapters.py", line 473, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("<?xml version='1.0' encoding='utf-8'?>\r\n",))
>>>
【问题讨论】:
标签: xml python-3.x python-requests