我有一个python烧瓶监听器在端口8080上等待。我希望另一个进程对此端口进行一系列POST操作。侦听器的代码如下所示。
#!/usr/bin/env python2
from __future__ import print_function
from flask import Flask, request
from werkzeug import secure_filename
from datetime import datetime
import os, traceback, sys
import zlib
import ssl
import json
import os
import base64
app = Flask('__name__')
@app.route('/',methods=['GET','POST','OPTIONS'])
def recive_fe_events():
try:
data = request.get_data()
if request.content_length < 20000 and request.content_length != 0:
filename = 'out/{0}.json'.format(str(datetime.now()))
with open(filename, 'w') as f:
f.write(data)
print('Wrote', filename)
else:
print("Request too long", request.content_length)
content = '{{"status": 413, "content_length": {0}, "content": "{1}"}}'.format(request.content_length, data)
return content, 413
except:
traceback.print_exc()
return None, status.HTTP_500_INTERNAL_SERVER_ERROR
return '{"status": 200}\n'
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=False,port=8080)
然而,每当我试图触发一个事件并将其推送到上面的侦听器时,似乎我得到的是OPTIONS
,而不是POST
。
192.168.129.75 - - [20/May/2015 14:33:45] "OPTIONS / HTTP/1.1" 200 -
192.168.129.75 - - [20/May/2015 14:33:45] "OPTIONS / HTTP/1.1" 200 -
192.168.129.75 - - [20/May/2015 14:33:51] "OPTIONS / HTTP/1.1" 200 -
192.168.129.75 - - [20/May/2015 14:33:51] "OPTIONS / HTTP/1.1" 200 -
对我客户的调查显示,它希望其response
中的以下标志为OPTIONS
。
Access-Control-Allow-Origin value_1
Access-Control-Allow-Methods value_2
Access-Control-Allow-Headers value_3
如何将上述response
格式化为OPTIONS
,以便我的服务器可以开始从客户端接收POST
消息。
你需要设置你的CORS申请。最简单的方法是使用Flask-CORS。
相关问题 更多 >
编程相关推荐