Python Post Request Body在发送时在节点服务器中显示为空 [英] Python Post Request Body appears empty in Node server when sent
问题描述
我正在尝试通过Python向我的node.js服务器发送帖子请求
I am trying to send a post request via Python to my node.js server
我的python代码如下:
My python code looks like:
payload = {
'tableName': 'events',
'whereParams': {
'end_date': ['between', yesterday, today]
}
}
payload = json.dumps(payload)
url = 'http://127.0.0.1:8081/search'
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r = requests.post(url, headers=headers, data=payload)
jd = r.json()
print jd
我的节点服务器文件如下所示:
My node server file looks like this:
app = express()
app.use busboyBodyParser()
app.use bodyParser.urlencoded({ extended: true })
app.engine 'html', hogan
app.set 'view engine', 'html'
app.post "/search", (req, res, next) ->
queryController.retrieve req, res, next
我的节点中的控制器如下所示:
and my controller in node looks like this:
exports.retrieve = (req, res, next) ->
body = req.body
console.log body
在Node中如果我在python中打印有效负载它正在显示为: {whereParams:{end_date:[之间,2015-09-14 00:00:00,2015-09-15 00:00:00]},tableName:events}
In Node the body is being loged as {}
if I print the payload in python it appears correctly as: {"whereParams": {"end_date": ["between", "2015-09-14 00:00:00", "2015-09-15 00:00:00"]}, "tableName": "events"}
推荐答案
我发现我错过了 app.use bodyParser.json()
来自我的服务器代码,似乎阻止服务器解析不包含文件的多部分表单数据。
I found out that I was missing app.use bodyParser.json()
from my server code, which seemed to be preventing the server from parsing multipart form data that did not include a file.
这篇关于Python Post Request Body在发送时在节点服务器中显示为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!