我正在运行以下代码来获取POST消息。如何获取文件(使用POST发送)以及如何使用HTTP状态代码const
进行响应?
addToFolders()
AttributeError:'SSLSocket'对象没有属性'FILES'
答案 0 :(得分:9)
BaseHTTPRequestHandler将处理第一行和http请求的标题,然后将其余部分留给您。
您需要使用BaseHTTPRequestHandler.rfile
您可以使用self.send_response(200)
回复200 OK
鉴于您已指定curl命令,以下内容应回答您的问题:
class HttpHandler(BaseHTTPRequestHandler):
def do_POST(self):
content_length = int(self.headers['Content-Length'])
file_content = self.rfile.read(content_length)
# Do what you wish with file_content
print file_content
# Respond with 200 OK
self.send_response(200)
请注意,在你的curl命令中使用-d @../some.file
,你会说“这是一个ascii文件哦,请删除新行和回车”,因此你使用的文件和您在请求中获得的数据。您的curl命令不会模拟html表单文件上传,如post post。
答案 1 :(得分:1)
通常在
中提供request.FILES
字典