3

我的代码:

from Core.PythonLib import requests
requests.packages.urllib3.disable_warnings()
def go_url(self, url, data=None, headers={}):
    if data:
        send = requests.post
    else:
        send = requests.get

    response = send(url, data=data, headers=headers, auth=(self.username, self.password))
    response.raise_for_status()
    print response.status_code
    print response.content

我首先发送了两个请求,我得到了答案,第二个我遇到了错误:

第一的:

Set state
200
{"status":"ok", ..... .....}
Loading admin SAVE from file [Empty] - Success!

第二:

TEST_ERROR: 
  File "D:\autotest\Core\Admin.py", line 94, in go_url
    response = send(url, data=data, headers=headers, auth=(self.username, self.password))

  File "D:\autotest\Core\PythonLib\requests\api.py", line 69, in get
    return request('get', url, params=params, **kwargs)

  File "D:\autotest\Core\PythonLib\requests\api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)

  File "D:\autotest\Core\PythonLib\requests\sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)

  File "D:\autotest\Core\PythonLib\requests\sessions.py", line 597, in send
    history = [resp for resp in gen] if allow_redirects else []

  File "D:\autotest\Core\PythonLib\requests\sessions.py", line 187, in resolve_redirects
    resp = self.send(

  File "D:\autotest\Core\PythonLib\requests\sessions.py", line 608, in send
    r.content

  File "D:\autotest\Core\PythonLib\requests\models.py", line 734, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()

  File "D:\autotest\Core\PythonLib\requests\models.py", line 734, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()

  File "D:\autotest\Core\PythonLib\requests\models.py", line 657, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):

  File "D:\autotest\Core\PythonLib\requests\models.py", line 657, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):

  File "D:\autotest\Core\PythonLib\requests\packages\urllib3\response.py", line 322, in stream
    for line in self.read_chunked(amt, decode_content=decode_content):

  File "D:\autotest\Core\PythonLib\requests\packages\urllib3\response.py", line 471, in read_chunked
    yield self._decode(chunk, decode_content=decode_content,

  File "D:\autotest\Core\PythonLib\requests\packages\urllib3\response.py", line 190, in _decode
    data = self._decoder.decompress(data)

  File "D:\autotest\Core\PythonLib\requests\packages\urllib3\response.py", line 190, in _decode
    data = self._decoder.decompress(data)

  File "D:\autotest\Core\PythonLib\requests\packages\urllib3\response.py", line 56, in decompress
    return self._obj.decompress(data)

  File "D:\autotest\SikuliX\sikulix.jar\Lib\zlib.py", line 155, in decompress
    inflated = _get_inflate_data(self.inflater, max_length)

  File "D:\autotest\SikuliX\sikulix.jar\Lib\zlib.py", line 202, in _get_inflate_data
    l = inflater.inflate(buf)

  File "D:\autotest\SikuliX\sikulix.jar\Lib\zlib.py", line 202, in _get_inflate_data
    l = inflater.inflate(buf)
java.lang.NullPointerException: Inflater has been closed

如果请求指定标志:“stream=True”,请求完成,但我做不到:打印 response.content,它发出同样的错误!有人可能会遇到这样的问题?

4

1 回答 1

1

我有同样的问题。您需要升级您的请求库。requests-2.11.1 对我有用。希望它可以提供帮助。

于 2016-10-03T08:16:20.873 回答