python无法向简单站点api发出请求。烧瓶和请求

python无法向简单站点api发出请求。烧瓶和请求,python,flask,socket.io,flask-socketio,Python,Flask,Socket.io,Flask Socketio,我正在尝试为我的网站创建简单的API。我用flask创建了路线: @api.route('/api/rate&message_id=<message_id>&performer=<performer_login>', methods=['POST']) def api_rate_msg(message_id, performer_login): print("RATE API ", message_id, ' ', performer_id)

我正在尝试为我的网站创建简单的API。我用flask创建了路线:

@api.route('/api/rate&message_id=<message_id>&performer=<performer_login>', methods=['POST'])
def api_rate_msg(message_id, performer_login):
    print("RATE API ", message_id, ' ', performer_id)
    return 400
注意,
数据
变量是从客户端发送的,并且是正确的(我已经检查过了)。
打印(r.status\u code)
不要执行太多
我错在哪里<请原谅我的英语不好:(

如果感兴趣,此api函数必须提高存储在mongodb中的消息速率。

从api路由中删除以下部分

&message_id=<message_id>&performer=<performer_login

&message\u id=&performer=不要将
&message\u id=&performer=
放在路由字符串中。而是从
请求.args
中获取这些参数

试试看:

from flask import request

...

@api.route('/api/rate', methods=['POST'])
def api_rate_msg():
    print(request.args)
    return ''
我已经用httpie对其进行了测试:

$ http -v POST :5000/api/rate message_id==123 performer_login==foo
POST /api/rate?message_id=123&performer_login=foo HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: localhost:5000
User-Agent: HTTPie/0.9.8

HTTP/1.0 200 OK
Content-Length: 0
Content-Type: text/html; charset=utf-8
Date: Sun, 02 Apr 2017 13:54:40 GMT
Server: Werkzeug/0.11.11 Python/2.7.13
根据烧瓶日志:

ImmutableMultiDict([('message_id', u'123'), ('performer_login', u'foo')])
127.0.0.1 - - [02/Apr/2017 22:54:40] "POST /api/rate?message_id=123&performer_login=foo HTTP/1.1" 200 -

我已经这样做了,但仍然没有改变。:(还有,我被
payload=…
改为
payload={'message\u id':data['message\u id'],'performer\u login':data['performer']}
,在
handle\u rate
中,但仍然没有任何改变。谢谢你的帮助。我不能给你评分,因为我的声誉太低了。嗯……但这对我来说不起作用(api_rate_msg()中的代码)
不起作用。我想,我的请求代码有问题。像我一样,用httpie或curl测试你的api,这样你就可以知道哪里出了问题。嗯……你的服务器是在外面,而不是在你的本地网络中吗?哈哈,问题神奇地解决了!我无法运行
http
,因为存在依赖性错误。我卸载了请求,然后重新设置它。N这是工作,谢谢
ImmutableMultiDict([('message_id', u'123'), ('performer_login', u'foo')])
127.0.0.1 - - [02/Apr/2017 22:54:40] "POST /api/rate?message_id=123&performer_login=foo HTTP/1.1" 200 -