Python中文
首页
教程
问答
标签
搜索
登录
注册
向RESTful API(Python Flask)发送POST请求,但接收GET请求
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图以包含JSON的POST请求的形式向Zapier webhook发送一个触发器。如果我只是通过本地python脚本发送POST请求,它就可以正常工作。</p> <p>我想做的是创建一个RESTful API,当调用gs端点中的create行时,它会触发Zapier webhook。</p> <p>如您所见,我正在向Hasura集群发送请求后API调用。但我得到的不是“200ok成功”的响应,而是“200ok失败”,这意味着请求被视为GET请求而不是POST请求。</p> <p><strong>测试.py</strong></p> <pre><code>#Python 3 Script to send a POST request containing JSON import json import requests api_url = 'http://app.catercorner16.hasura-app.io/create-row-in-gs' create_row_data = {'id': '1235','name':'Joel','created-on':'27/01/2018','modified-on':'27/01/2018','desc':'This is Joel!!'} r = requests.post(url=api_url, data=create_row_data) print(r.status_code, r.reason, r.text) </code></pre> <p><strong>server.py(在Hasura集群上运行)</strong></p> <pre><code>from src import app from flask import jsonify,request,make_response,url_for,redirect from json import dumps from requests import post url = 'https://hooks.zapier.com/hooks/catch/xxxxx/yyyyy/' @app.route('/create-row-in-gs', methods=['GET','POST']) def create_row_in_gs(): if request.method == 'GET': return make_response('failure') if request.method == 'POST': t_id = request.json['id'] t_name = request.json['name'] created_on = request.json['created_on'] modified_on = request.json['modified_on'] desc = request.json['desc'] create_row_data = {'id': str(t_id),'name':str(t_name),'created-on':str(created_on),'modified-on':str(modified_on),'desc':str(desc)} response = requests.post( url, data=json.dumps(create_row_data), headers={'Content-Type': 'application/json'} ) return response </code></pre> <p>已经挣扎了好几个星期了。我做错什么了?希望能得到帮助。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>确保使用正确的协议。<code>http</code>或<code>https</code>。</p> <p>如果使用<code>http</code>并看到重定向,则重定向<code>Location</code>头通常具有正确的URL。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
plt.savefig不会覆盖现有文件
9 回答
plt.savefig不保存图像
8 回答
plt.savefig在jupyter笔记本中不起作用
4 回答
plt.savefig在从另一个fi调用时停止工作
3 回答
plt.savefig在调用plt.show之前保存空数字
2 回答
plt.save不创建png文件
4 回答
plt.scatter overlay分类数据帧列
10 回答
Plt.Scatter:如何添加title、xlabel和ylab
5 回答
plt.scatter()绘图与Matplotlib中的plt.plot()绘图类似
10 回答
plt.scatter错误'NoneType'对象在成功运行后没有属性'sqrt'
8 回答
plt.set_title()中的标题字符串有误
8 回答
plt.show()
2 回答
plt.show()不在Jupyter笔记本上渲染任何内容
7 回答
plt.show()不打印plt.plot only plt.scatter
5 回答
plt.show()不显示三维散射图像
2 回答
plt.show()不显示任何内容
4 回答
plt.show()不显示数据,而是保留它供下一个图表使用(spyder)
4 回答
plt.show()使终端挂起
4 回答
plt.show()无法使用此代码
5 回答
plt.show()没有打开新的图形风
4 回答