0
0 комментариев

Пытаюсь передать файл на сервер CherryPy из клиента на Python 3.

Клиентская часть:

import requests
 
url = 'http://127.0.0.1:8080/upload'
files = {'file.zip': open('file.zip', 'rb')}
 
r = requests.post(url, files=files)
print(r.status_code == requests.codes.ok)


Серверная часть:

import os
import tempfile
import shutil
 
import cherrypy
 
 
config = {
    'global' : {
        'server.socket_host' : '127.0.0.1',
        'server.socket_port' : 8080,
        'server.thread_pool' : 8,
        'server.max_request_body_size' : 0,
        'server.socket_timeout' : 60
  }
}
 
 
class App:
    @cherrypy.config(**{'response.timeout': 3600})
    @cherrypy.expose()
    def upload(self):
        '''Handle non-multipart upload'''
 
        destination = os.path.join('/home/uvv/upload')
        with open(destination, 'wb') as f:
            shutil.copyfileobj(cherrypy.request.body, f)
 
        return 'Okay'
 
 
if __name__ == '__main__':
        cherrypy.quickstart(App(), '/', config)


Соответственно сервер возвращает:
127.0.0.1 — — [17/Aug/2016:11:38:49] «POST /upload HTTP/1.1» 400 2083 «» «python-requests/2.10.0» А клиент: False
Не могу понять почему файл не загружается. Да права на папку /home/uvv/upload стоят a+rwx (поэтому проблема точно не в правах доступа)


Добавить комментарий