我有一个Sinatra应用程序,我希望获得客户端输入,如下面的伪代码所示:
get '/foo' do
"doing some stuff"
foo = getInputFromClient
foo
"continuing to do more stuff"
foo = getInputFromClient
foo
"done"
end
这是我希望在客户端看到的输出:
curl http://127.0.0.1:4567/foo #start the request
doing some stuff
#Somehow submit "shoop" to Sinatra
shoop
continuing to do more stuff
#Somehow submit "woop" to Sinatra
woop
done
我无法将其拆分为两个卷曲调用。我该如何做到这一点?我不应该首先使用Sinatra吗?我是否必须切换到套接字?
我已经阅读了这些似乎相关的other questions,我对他们正在谈论的内容并不熟悉,看它是否适用于我。我希望将其他问题简化为我的案例或将一些关键字简化为Google。
答案 0 :(得分:1)
通常我们会写更多这样的内容:
get '/foo' do
...do something...
"done doing foo"
end
get '/foo2' do
...do something...
"done doing foo2"
end
get '/foo3' do
...do something...
"done doing foo3"
end
客户端会看到这样的连接握手:
/foo
。/foo2
。/foo3
。客户端和服务器端都必须编写一些代码来处理逻辑。您无法在连接过程中将消息发送回cURL,让它返回更多信息,请求更多数据并将其返回。这不是cURL的工作方式,也不是HTTP协议。
可以使用浏览器的各种技术来回通话,但cURL不是浏览器。