下面是客户端:
data = b'48958695427097097402529251103137444756'
r = requests.post("http://127.0.0.1:5000", data=data)下面是服务器:
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
from flask import Flask, Response, request
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
def get_data():
print('Recieved from client: {}'.format(request.data))
return Response('We recieved something…')
if __name__ == ‘__main__’:
app.run(debug=True)客户端向服务器发送字节字符串,但服务器仅接收: b'‘为什么?
以及如何让服务器接收到整个字节的字符串?谢谢。
发布于 2016-11-15 21:17:10
您的@app.route不包含任何method,因此您需要添加
@app.route('/',methods=['POST'])
要了解@app.route的工作原理,请参阅this
编辑过的代码
from flask import Flask, Response, request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def get_data():
print('Recieved from client: {}'.format(request.data))
return Response('We recieved something…')
if __name__ == '__main__':
app.run(debug=True)发布于 2016-11-15 21:21:11
您缺少以下内容中的行尾:
@app.route('/', methods=['POST'])在这个小修复之后,你的代码应该可以工作了。
https://stackoverflow.com/questions/40610644
复制相似问题