1

我正在用 PHP 创建一个 web 服务并使用 Tika 将文件拖放到文本中。最初,我在外部 shell 中通过 Tika 处理每个文件(适合开发,但不能扩展),但我现在尝试在服务器模式下使用 Tika:

java -jar /path/to/tika-1.3-app.jar -s 5150 &

我能够看到正在监听的端口,并使用“nc”发送文件/接收解析的文本,但是,当通过“curl”尝试相同的操作时,它只会挂起并且永远不会返回。在详细模式下,我可以看到文件上传已完成。我已经尝试过 -T 和 -F,我看到的只是“*完成等待 100 次继续”。

我是否遗漏了一个参数,或者是否需要另外发送某个标头?目标是使用主 PHP 脚本中的 cURL 来发出请求(目前也不起作用),所以如果总体上有更好的方法,请分享。

4

1 回答 1

3

Tika App Network Server 不能很好地与 Curl 配合使用的原因很简单——它不是基于 HTTP 的!这是一个非常简单的基于网络的协议,通常与 netcat 或 Tika App 客户端之类的东西一起使用,用于测试/演示/原型设计。真的不推荐用于生产。

相反,您应该使用功能更全的Tika JAXRS Server吗?后者提供了更多选项,并且完全是 RESTful。您可以将它与 curl (以及任何其他 HTTP 客户端)很好地结合使用,并且在 wiki 上有很多示例可以使用 curl

Tika JAXRS 服务器通过RESTful HTTP 调用公开各种 Tika 功能(文本提取、xhtml、元数据等),并且是通过网络将 Tika 连接到非 Java 应用程序的一般推荐方式。

于 2013-06-18T20:55:24.283 回答