Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Curl访问Flask REST Api';行不通_Python_Curl_Flask Restful - Fatal编程技术网

Python 使用Curl访问Flask REST Api';行不通

Python 使用Curl访问Flask REST Api';行不通,python,curl,flask-restful,Python,Curl,Flask Restful,我构建了一个非常简单的FlaskAPI,它询问神经网络通过POST提供了什么样的语言 请求 curl -H "Content-Type: application/json" -X POST -d "{"""text""":"""This should be recognized as an english text."""}""" http://<IP>:5000/api/v1.0/findlanguage 就这样。这可能是什么?我错过什么了吗 预期输出应为json对象,如: {

我构建了一个非常简单的FlaskAPI,它询问神经网络通过POST提供了什么样的语言

请求

curl -H "Content-Type: application/json" -X POST -d "{"""text""":"""This should be recognized as an english text."""}""" http://<IP>:5000/api/v1.0/findlanguage
就这样。这可能是什么?我错过什么了吗

预期输出应为json对象,如:

{
   'task': 'findlanguage',
   'result': 'english',
   'api': 'v1.0',
   'call': 'http://<ip>:5000/api/v1.0/findlanguage'
}
{
“任务”:“findlanguage”,
'结果':'英语',
“api”:“v1.0”,
“调用”:“http://:5000/api/v1.0/findlanguage”
}

请求根本没有被发送;shell在运行
curl
之前正在等待进一步的输入

但是上面的POST请求不会引起Flask的任何输出。我想它进入了某种控制台,因为我看到的是:

>_
>_
如果命令有不平衡的引号字符,您将看到这一点。例如,尝试:

curl -H "Content-Type: application/json""
如果您在该提示符下键入另一个
,并点击
返回
键,则将执行该命令

这只是一个例子。问题中的命令示例中的问题不是由于
内容类型
字符串周围的引号引起的,而是由于
-d
选项的参数引起的

你真的在使用“三双引号”吗。若然,原因为何

不管怎样,在打开的
{
大括号前面有一个双引号字符,在结束的
}
大括号后面有三个双引号字符,这显然是不对的

为什么不把
-d
参数放在单引号中:

-d '{"text":"This should be recognized as an english text."}'

也许都是双引号?尝试将您的请求正文更改为:
“{”text:“这应该被识别为英文文本。”}
您是否有任何flask输出(哪个/什么传入)?在服务器端使用的post获取更多模式的类型?我根据本教程实现了它,其中说明在linux环境中需要这些三重双引号。如果我在没有双引号的情况下尝试,flask将返回HTTP错误500内部服务器Error@dsgdfg:很遗憾,没有。服务器端没有任何内容。您正在使用bash吗?在bash中,三重引号并不能实现您的意图。你需要这样做:
“\”“
好的,我刚学到一些新东西。谢谢:-)终于成功了。服务器端出现错误。我总是用单引号返回HTTP 500。Python告诉了我一些代码中的错误。修正了它,它工作了。。。有时候你就是看不见。谢谢大家!!