1
python3 클라이언트에서 cherrypy로 파일을 POST하고 싶습니다. 요청 라이브러리를 사용하고 있습니다. 내 클라이언트 코드 :CherryPy 업로드 파일
import requests
url = 'http://127.0.0.1:8080/upload'
files = {'file.zip': open('file.zip', 'rb')}
r = requests.post(url, files=files)
내 서버 코드 : 서버가 오류를 반환
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"
게시 한 오류가 아니며 로그 항목입니다. HTTP 응답 본문이란 무엇입니까? 오후 8시 30 분 P.S. 업로드 처리기 시작시 로깅을 추가하여 호출 여부를 확인하십시오. – webKnjaZ
P.P.S. 먼저 작은 파일을 업로드 해보십시오. – webKnjaZ
그리고 cherrypy 앱에서'/ home/uvv/upload' 파일을 쓸 수있는 적절한 권한이 있는지 확인하십시오. – webKnjaZ