我有一个python网络应用程序,可以通过POST / GET参数对您发送给它的数据进行计算。 该应用程序在我的机器上完美运行,但是当部署到openshift时,它无法访问参数,错误号为32:管道损坏
然后我使用这个quickstart repo专注于服务器代码,而不是应用程序代码。
要区分POST和GET请求并在那里结束
这里是相关的python代码:
package com.dergolem.abc_2;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;
public class MultiClick
extends Activity
{
Button btn1 = null;
Button btn2 = null;
Button btn3 = null;
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.multi_click);
btn1 = (Button) findViewById(R.id.Button1);
btn2 = (Button) findViewById(R.id.Button2);
btn3 = (Button) findViewById(R.id.Button3);
}
public void clickHandler(final View v)
{
String str = "";
switch (v.getId())
{
case R.id.Button1:
{
str = "1";
break;
}
case R.id.Button2:
{
str = "2";
break;
}
case R.id.Button3:
{
str = "3";
break;
}
}
Toast.makeText(this, "Button " + str, Toast.LENGTH_SHORT).show();
}
}
所以我只想知道如何访问参数。
答案 0 :(得分:1)
不要在生产中使用Flask的开发服务器。使用可以处理并发请求的正确WSGI服务器,例如Gunicorn。现在尝试打开服务器的线程模式,看它是否有效。
app.run(host="x.x.x.x", port=1234, threaded=True)
答案 1 :(得分:0)
您可以通过以下方式从POST请求中获取表单数据:
name = request.form.get("name")
重构:
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
name = request.form.get("name")
result = "We received a POST request and the value for <name> is - {0}".format(name)
else:
result = "This is a GET request"
return result
请参阅official Flask documentation以了解有关Request对象的更多信息。