2015-02-03 4 views
0

Я посылаю запрос POST от Android на моем сервере (питон/колба)Почему я получаю 405 GET не разрешен, когда я отправляю запрос POST?

URL url = new URL("www.xxx.com/yyy"); 
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
httpCon.setRequestMethod("POST"); 
httpCon.setRequestProperty("Content-Type", "binary/octet-stream"); 
DataOutputStream out = new DataOutputStream(httpCon.getOutputStream()); 
out.write(bytes); 
out.flush(); 
out.close(); 
int status = httpCon.getResponseCode(); 
... 

и я получаю это с Колба

cors = CORS(app) 
app.config['CORS_HEADERS'] = 'Content-Type' 

@app.route('/yyy', methods=['POST']) 
@cross_origin(headers=['Content-Type']) 
@def get_checkpoint_config(): 
    # ... 

Первые странные вещь: иногда журналы сервера

WARNING:tornado.access:405 GET /yyy 

но это POST!

Существует немного странно к тому, что: некоторые другие времена, я не получаю 405, но request.data является пустым.

Я подозреваю, что что-то подозрительное с конфигурацией CORS. Я заменил @cross_origin на @crossdomain(origin='*') (из этого snippet), но у меня было такое же поведение

Как я могу это исправить?

Благодаря

ответ

0

Это не полный ответ, но к счастью, мои просьбы не были слишком большими, так что я положил данные в качестве параметра GET, и я мог бы удалить все, что связано с cors (кросс расширение происхождения Fask), и она работала. Вопрос все еще остается.

Смежные вопросы