哈喽各位大佬好,今天是要写一个post服务,调用还是post,全post,参考我之前的博文,这里再次看看坑在哪里。
For Recommendation in Deep learning QQ Group 277356808
For deep learning QQ Second Group 629530787
I'm here waiting for you
不接受这个网页的私聊/私信!!! 欢迎关注微信视频号:李寻欢直播间
?1-做个post服务
先看传来的数据格式,data=param为字典,如下:
post(url, data=None, json=None, **kwargs)
Sends a POST request.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) json data to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
此时的服务若采用get形式,那么无论是post形式的调用得不到任何数据,
#服务
flask.request.args.get
#调用
post形式,无论数据是data还是json,有没有json.dumps都一样获取不到数据
如果是get_json那么json直接传字典或者data采用json.dumps均可
>>> requests.post(url3,data=json.dumps(data)).json()
{ 'userid': 'xiaomingge'}
>>> requests.post(url3,json=data).json()
{'userid': 'xiaomingge'}
如果要传data为直接的字典格式,无json-dumps包装,只能用get_data(不带参数)然后得到如下形式:
b'userid=xiaomingge&num=100&userid2=xmg'
解码后手动分割即可,我目前没有想到更高效的方法。
2-post请求
无论是json或data形式,都可以采用data-decode解码后json-loads后得到最终的字典形式。感谢同事大佬。
愿我们终有重逢之时,而你还记得我们曾经讨论的话题。
|