我目前正在tomcat 8上运行一个webapp,并希望在终端屏幕上显示接收某个帖子请求的输出,而不显示网页。作为一个例子,我希望使用类似这样的命令:
curl -d "param1=xxx¶m2=yyy" localhost:8080/webapp
并获得与此类似的(简短)回复:
"some data here"
我不想获取在浏览器中点击URL时会呈现的网页的HTML。有什么办法可以在Tomcat中完成吗?
答案 0 :(得分:2)
AFAIK响应内容由Web应用程序(servlet,JSP或其他)在Tomcat中生成。你可能应该创建这样一个webapp,它只输出一个没有标签和其他html东西的文本,例如。使用此内容在tomcat webapps根目录(通常为 tomcat_root \ webapps \ ROOT )中创建index.jsp
文件(是的,只有一个短行):
<%="some data here"%>
您将通过此请求获取原始数据,但这无论如何都是HTTP响应。如果您计划在较低级别处理此数据(例如TCP),您将从服务器额外数据中获取标题值等。
此外,如果您的客户端软件关心它,您可能需要关心如何设置正确的标头作为响应,例如:ContentType: text/plain
。或者只是跳过它:无论如何,您将获得原始文本内容,而与内容类型标题值无关。
答案 1 :(得分:0)
您必须指定请求是POST请求
$ curl -i -X POST -d "param1=xxx¶m2=yyy" localhost:8080/webapp