小编uph*_*ill的帖子

使用python请求将0字节文件上传到owncloud会挂起

我正在尝试上传一个0字节的文件,其中包含对owncloud的请求.我想为此使用类似文件的对象.通常我会这样做:

file_obj = io.BytesIO(b'')
response = requests.put('http://localhost/remote.php/webdav',
                                    auth=('xxx', 'xxx'),
                                    data=file_obj)
Run Code Online (Sandbox Code Playgroud)

但它冻结了.如果我中断进程,我会看到它与堆栈跟踪挂起的位置:

Traceback (most recent call last):
  File "/home/julian/cc/client/.venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py", line 376, in _make_request
    httplib_response = conn.getresponse(buffering=True)
TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/julian/cc/client/cc/storage/webdav.py", line 360, in <module>
    main()
  File "/home/julian/cc/client/cc/storage/webdav.py", line 351, in main
    data=file_obj)
  File "/home/julian/cc/client/.venv/lib/python3.5/site-packages/requests/api.py", line 120, in put
    return request('put', url, data=data, **kwargs)
  File "/home/julian/cc/client/.venv/lib/python3.5/site-packages/requests/api.py", line 53, in request
    return session.request(method=method, …
Run Code Online (Sandbox Code Playgroud)

python webdav transfer-encoding python-requests owncloud

3
推荐指数
1
解决办法
742
查看次数