【发布时间】:2013-09-10 23:17:22
【问题描述】:
我正在研究创建网页的 HTTP POST 方法。 我对它有点陌生,正在寻找有关其工作原理的一些解释。
我只是想使用他们看似简单的页面来满足我自己的服务器需求。 我的问题是,这个 curl 链接如何真正起作用?
curl --data-binary @audio2.flac --header 'Content-type: audio/x-flac; rate=16000' 'https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&pfilter=0&maxresults=1&lang="en-US"'
所以我通过使用 curl 来让它工作,如你所见,发送一个 flac 文件,它会响应 这个 JSON 的东西
{"status":0,"id":"3b7853241a0dded048f84744cc1ab896-1","hypotheses":[{"utterance":"ice cream","confidence":0.88215643}]}
如果我错了,请纠正我:
所以我相信这是一个 post 方法,因为它有 ?用它标记以发送名称值对。
我不知道他们是如何获得链接https://www.google.com/speech-api/v1/recognize
只接受 POST 请求,最后没有这样的脚本名称
https://www.google.com/speech-api/v1/recognize/scriptName.pl
如何在没有 .pl 或 .py 扩展名的情况下编写内容以在给定页面上接受发布请求?我怎样才能把它放在服务器上的某个目录中。
除了我的目的之外,我还可以在处理/压缩后将文件发回给他们吗? 关于如何做到这一点的任何想法?
非常感谢您的宝贵时间和慷慨的帮助!
【问题讨论】:
-
参数通过 ? URI 中的 & 被当作 GET 处理
-
我是这么想的。这是我在 curl 的手册页中找到的。 --data-binary (HTTP) 这完全按照指定的方式发布数据,没有任何额外的处理。如果您以字母 @ 开始数据,则其余部分应为文件名。数据的发布方式与 --data-ascii 类似,不同之处在于保留了换行符并且从不进行转换。
-
这也是得到的回应。 cam@Firetree:~$ curl google.com/speech-api/v1/recognize
此 URL 不支持 HTTP 方法 GET 此 URL 不支持 HTTP 方法 GET
错误 405
标签: post file-upload curl http-headers http-post