在关于测试的Flask文档(http://flask.pocoo.org/docs/testing/)中,它有一行代码
rv = self.app.get('/')
Run Code Online (Sandbox Code Playgroud)
在它下面,它提到"通过使用self.app.get,我们可以使用给定的路径向应用程序发送HTTP GET请求."
在哪里可以找到这些直接访问方法的文档(我假设所有的其他方法都有一个)?具体来说,我想知道他们可以采取什么样的参数(例如,传递数据,标题等).查看有关Flask对象的flask文档,它似乎没有列出这些方法,即使它在上面的示例中使用它们.
或者,知识渊博的个人可以回答我想要解决的问题:我正在尝试模拟向我的服务器发送POST请求,就像我通过以下行一样,如果我是通过HTTP进行的:
res = requests.post("http://localhost:%d/generate" % port,
data=json.dumps(payload),
headers={"content-type": "application/json"})
Run Code Online (Sandbox Code Playgroud)
以上在适当的端口上运行Flask应用程序时起作用.但我尝试用以下内容替换它:
res = self.app.post("/generate",
data=json.dumps(payload),
headers={"content-type": "application/json"})
Run Code Online (Sandbox Code Playgroud)
相反,我得到的回应是一个400 BAD REQUEST.
这在Werkzeug项目中有记录,Flask从中获得测试客户端:Werkzeug的测试客户端.
测试客户端不发出HTTP请求,它在内部调度请求,因此不需要指定端口.
关于JSON在体内的支持,文档不是很清楚,但是如果你传递一个字符串并设置内容类型你应该没问题,所以我不确定你为什么要找回代码400.我会检查你的/generate视图函数是否被调用.调试器应该有助于确定400来自何处.
| 归档时间: |
|
| 查看次数: |
3380 次 |
| 最近记录: |